sql server仅为某些列保存空值

时间:2015-06-12 16:59:38

标签: c# asp.net sql-server-2012 sharepoint-2013 timer-jobs

我有一个包含nvarchar(max),varchar(100)和bit类型列的表。 我正在使用SQLCommand.ExecuteNonQuery().

以编程方式向其插入值

我使用SQLParametr.AddWithValue("@parameterName", parameterValue)

为所有nvarchar和varchar列以及0或1到位列提供字符串值

对于某些列,它存储正确的值,但是对于某些列,即使在提供适当的参数值之后,也只存储空值。 存储空值的列的类型为varchar(100)和bit。

在开发环境中一切正常,问题出现在测试环境中。

The insert query looks like "INSERT INTO SOME_TABLE(Col1,Col2,Col3,Col4) VAlues(@param1, @param2, @param3, @param4)"

即使在测试环境中,通过将值打印到日志文件中,参数值也是正确的。

对这种不寻常行为的任何解释。

1 个答案:

答案 0 :(得分:0)

@Lasse V. Karlsen,你在某种程度上是正确的(一个得心应手的答案就是这应该有效),结果证明是一个愚蠢的问题。

所有查询都写在一个单独的类文件中,该文件通过添加项目引用(dll)在项目中引用。

我最近在类文件(Queries)中进行了一些更改并重新部署,在开发环境中它工作正常但在测试环境中,解决方案仍然引用旧的dll因此旧查询,其中我没有通过任何值和列都是allow null,因此存储空值。

从GAC卸载旧的dll并安装新的dll修复了问题

相关问题