SqlParameter中DbType和Type有什么区别?

时间:2012-03-31 06:19:07

标签: asp.net sqldatasource

你能解释一下数据源参数中Type和DbType的区别吗? 分配这两个属性的最佳实践是什么?

3 个答案:

答案 0 :(得分:5)

Type表示类型声明:类类型,接口类型,数组类型,值类型,枚举类型,类型参数,泛型类型定义以及打开或关闭的构造泛型类型。

Int32, String类似,复杂类型

用于前端参考

参考:http://msdn.microsoft.com/en-us/library/system.type.aspx

虽然 DBTYPE 指定字段的属性的SQL Server特定数据类型,以供在SqlParameter中使用。

参考:http://msdn.microsoft.com/en-us/library/system.data.sqldbtype.asp

所以这意味着:在从DB引用C#/ VB

时必须使用Type 引用/从C#/ VB

中将值传递给DB时,

DBType

希望这会有所帮助......

答案 1 :(得分:2)

答案总是不好。对于某些情况,从VB .Net设置过程参数的DBType无故失败(即使[param] .DBType设置为sqlDBType.Decimal,[param] .sqlDBType设置为DateTime,导致无效的强制转换错误,同时使用参数的有效十进制值调用过程)。解决方案是我必须专门设置[param] .sqlDBType而不是设置DBType属性。仍然不清楚所有这些真正意味着什么。

答案 2 :(得分:0)

来自MSDN docs

  

链接SqlDbType和DbType。因此,设定       DbType将SqlDbType更改为支持SqlDbType。