0
Dim MyType as String = "numeric"
Dim sdtype As SqlDbType sdtype = DirectCast([Enum].Parse(GetType(SqlDbType), MyType), SqlDbType)
不適用於數字。我想知道如何處理這些數據類型。提前致謝。將數字字符串轉換爲sqldbtype
Dim MyType as String = "numeric"
Dim sdtype As SqlDbType sdtype = DirectCast([Enum].Parse(GetType(SqlDbType), MyType), SqlDbType)
不適用於數字。我想知道如何處理這些數據類型。提前致謝。將數字字符串轉換爲sqldbtype
SqlDbType
枚舉根本不包含值「數字」,因此不可能將這樣的字符串轉換爲該枚舉。
爲了避免錯誤,可使用這樣的代碼:(C#,不熟悉VB.NET對不起)
SqlDbType dbType;
if (Enum.TryParse<SqlDbType>(myType, true, out dbType))
{
MessageBox.Show("type: " + dbType);
}
else
{
MessageBox.Show("invalid type: " + myType);
}
有各種可用的數字類型雖然,例如Float
因此改變字符串其中的一個應該只是罰款:對SQL Server數據庫提供商
Dim MyType as String = "float"
所有可用的數據類型包括:
BigInt Binary Bit Char DateTime Decimal Float Image Int Money NChar NText NVarChar Real UniqueIdentifier SmallDateTime SmallInt SmallMoney Text Timestamp TinyInt VarBinary VarChar Variant Xml Udt Structured Date Time DateTime2 DateTimeOffset
任何試圖在此列表中投字符串不是會導致錯誤。
編輯:第二個想法看起來像你正在使用Access數據庫?在這種情況下,使用OleDbType
不SqlDbType
,只是代碼更改爲:
Dim sdtype As OleDbType sdtype = DirectCast([Enum].Parse(GetType(OleDbType), MyType), OleDbType)
,它應該工作,因爲OleDbType
確實包含了「數字」。
你能告訴我什麼是SqlDbType枚舉中沒有定義的其他數據類型。 – user1685652
不是,我只能說出**是什麼**。無論如何,看到我的編輯我想我找到了你的問題的根源。 –
不,我正在使用SQL數據庫..反正謝謝你的幫助 – user1685652