你能解释一下数据源参数中Type和DbType的区别吗? 分配这两个属性的最佳实践是什么?
答案 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。