sql 服务器仅保存某些列的空值

sql server saves only null values for some columns

我有一个 table,其中包含一些 nvarchar(max)、varchar(100) 和位类型的列。 我正在使用 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)"

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

对此异常行为的任何解释。

@Lasse V. Karlsen,你在某种程度上是对的(挥手回答是这应该有效),结果证明这是一个愚蠢的问题。

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

我最近在 class 文件(查询)中做了一些更改并重新部署,在开发环境中它工作正常但在测试环境中,解决方案仍然引用旧的 dll 因此旧的查询,其中我根本没有传递任何值,并且列允许 null tr​​ue,因此存储空值。

从 GAC 卸载旧的 dll 并安装新的 dll 解决了这个问题