当我传递NULL值 (或者更好的说是DbNull值)到DbParameter对象时,我遇到了SQL更新语句的问题。 当我将DbNull值传递给Value属性时,DbParameter对象的DbType仍为STRING。以通用方式设置空值的DbParameter.DbType?
如果我尝试写成二进制领域(VARBINARY(MAX)),我得到了一个异常VARCHAR和VARBINARY之间的转换是不可能的。所以在这种情况下,我必须自己设置DbType。我现在的问题是,如何从 .Net类型获得DbType。我想成为这个通用的,所以我可以用我的方法与其他 数据库。我在MSDN文档中找不到任何有用的东西。 如果有人可以给我一些提示如何解决这个问题,我将不胜感激 这个。或者,也许我走错了路。我暂时不确定。
直接的解决方案是手动使用开关(dbType)用于您使用的类型 – sll
当对象值为空时,您无法获取对象的类型,因此我无法设置DbType。它是一条死路... – msfanboy
@Dissy你说的开关/外壳的默认值?你将如何使用开关盒?我会告诉你一点我的代码,我不认为我的方法适用于你的建议... – msfanboy