我有一个包含nvarchar(max),varchar(100)和bit类型列的表。
我正在使用SQLCommand.ExecuteNonQuery().
我使用SQLParametr.AddWithValue("@parameterName", parameterValue)
对于某些列,它存储正确的值,但是对于某些列,即使在提供适当的参数值之后,也只存储空值。 存储空值的列的类型为varchar(100)和bit。
在开发环境中一切正常,问题出现在测试环境中。
The insert query looks like "INSERT INTO SOME_TABLE(Col1,Col2,Col3,Col4) VAlues(@param1, @param2, @param3, @param4)"
即使在测试环境中,通过将值打印到日志文件中,参数值也是正确的。
对这种不寻常行为的任何解释。
答案 0 :(得分:0)
@Lasse V. Karlsen,你在某种程度上是正确的(一个得心应手的答案就是这应该有效),结果证明是一个愚蠢的问题。
所有查询都写在一个单独的类文件中,该文件通过添加项目引用(dll)在项目中引用。
我最近在类文件(Queries)中进行了一些更改并重新部署,在开发环境中它工作正常但在测试环境中,解决方案仍然引用旧的dll因此旧查询,其中我没有通过任何值和列都是allow null,因此存储空值。
从GAC卸载旧的dll并安装新的dll修复了问题