相关疑难解决方法(0)

为什么SqlParameter名称/值构造函数将0视为null?

我在一段代码中发现了一个奇怪的问题,即即使其参数与数据源中的记录匹配,adhoc SQL查询也没有产生预期的输出.我决定将以下测试表达式输入到即时窗口中:

new SqlParameter("Test", 0).Value
Run Code Online (Sandbox Code Playgroud)

这给了null我一个让我挠头的结果.似乎SqlParameter构造函数将零视为空值.以下代码生成正确的结果:

SqlParameter testParam = new SqlParameter();
testParam.ParameterName = "Test";
testParam.Value = 0;
// subsequent inspection shows that the Value property is still 0
Run Code Online (Sandbox Code Playgroud)

谁能解释这种行为?这是故意的吗?如果是这样,它可能相当危险......

c# sql-server ado.net sqlparameter

25
推荐指数
2
解决办法
6536
查看次数

标签 统计

ado.net ×1

c# ×1

sql-server ×1

sqlparameter ×1