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 true,因此存储空值。
从 GAC 卸载旧的 dll 并安装新的 dll 解决了这个问题
我有一个 table,其中包含一些 nvarchar(max)、varchar(100) 和位类型的列。
我正在使用 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)"
即使在通过将值打印到日志文件测试相同的测试环境中,参数值也是正确的。
对此异常行为的任何解释。
@Lasse V. Karlsen,你在某种程度上是对的(挥手回答是这应该有效),结果证明这是一个愚蠢的问题。
所有查询都写在一个单独的 class 文件中,该文件通过添加项目引用 (dll) 在项目中引用。
我最近在 class 文件(查询)中做了一些更改并重新部署,在开发环境中它工作正常但在测试环境中,解决方案仍然引用旧的 dll 因此旧的查询,其中我根本没有传递任何值,并且列允许 null true,因此存储空值。
从 GAC 卸载旧的 dll 并安装新的 dll 解决了这个问题