首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字符串转换为SqlDbType

将字符串转换为SqlDbType
EN

Stack Overflow用户
提问于 2011-01-27 20:37:15
回答 3查看 10.4K关注 0票数 4

我正在尝试将字符串值转换为SqlDbType。我的代码能够在没有任何错误的情况下将“文本”隐藏到SqlDbType.Text中,但是当我试图将“位”转换为SqlDbType.Bit时,我会收到以下错误:没有找到“请求的值'bit‘”。

当试图将"int“转换为SqlDbType.Int错误消息时,也会发生同样的情况:没有找到”请求的值'int‘“。

为什么这种方法适用于“文本”而不是“位”或"int"?

代码语言:javascript
复制
Dim MyType as String = "bit"
Dim sdtype As SqlDbType

sdtype = DirectCast([Enum].Parse(GetType(SqlDbType), MyType), SqlDbType)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-27 20:45:55

因为枚举值是SqlDbType.Bit,而不是SqlDbType.bit。Enum.Parse()对其输入是区分大小写的。

您需要使用这种过载的Enum.Parse:

代码语言:javascript
复制
SqlDbType type = (SqlDbType) Enum.Parse( typeof(SqlDbType) , "bit" , true ) ;

第三个参数指示在从字符串解析枚举的值时是否应该忽略(true)大小写。

票数 21
EN

Stack Overflow用户

发布于 2011-01-27 20:42:10

看起来它对大小写很敏感。试试"Bit“,看看这是否可行。

票数 0
EN

Stack Overflow用户

发布于 2011-01-27 20:44:49

Enum.Parse(GetType(SqlDbType))的结果是什么?这是你期望的结果吗?因为我认为错误可能在里面。

作为最后一种选择,您可以尝试CTYpe而不是直接广播吗?(http://msdn.microsoft.com/en-us/library/7k6y2h6x(VS.71).aspx)

CType稍微灵活一些,但是我确实认为这是一个很长的机会,但也许值得一试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4821569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档