crj*_*unk 4 sql vb.net asp.net
我试图将字符串值转换为SqlDbType.我的代码能够将"Text"转换为SqlDbType.Text而没有任何错误,但是当我尝试将"bit"转换为SqlDbType.Bit时,我收到以下错误:"找不到请求值'bit'."
尝试将"int"转换为SqlDbType.Int时会发生同样的错误消息:"找不到请求的值'int'."
为什么这适用于"文本"而不是"位"或"int"?
Dim MyType as String = "bit"
Dim sdtype As SqlDbType
sdtype = DirectCast([Enum].Parse(GetType(SqlDbType), MyType), SqlDbType)
Run Code Online (Sandbox Code Playgroud)
Nic*_*rey 16
因为枚举值是SqlDbType.Bit,而不是SqlDbType.bit.Enum.Parse()对其输入是区分大小写的WRT.
你需要使用Enum.Parse的这个重载:
SqlDbType type = (SqlDbType) Enum.Parse( typeof(SqlDbType) , "bit" , true ) ;
Run Code Online (Sandbox Code Playgroud)
第三个参数指示在解析字符串中的枚举值时是否应忽略(true)或不(false)大小写.
| 归档时间: |
|
| 查看次数: |
8567 次 |
| 最近记录: |