Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SqlDataRecord.SetString-空字符串错误_C#_Sql Server_.net Core - Fatal编程技术网

C# SqlDataRecord.SetString-空字符串错误

C# SqlDataRecord.SetString-空字符串错误,c#,sql-server,.net-core,C#,Sql Server,.net Core,我们以这种方式使用SqlDataRecord(为了清晰起见,只显示了一个字段): SqlMetaData[] metaData = new SqlMetaData[1]; metaData[0] = new SqlMetaData("ItemName", SqlDbType.NVarChar, 200); SqlDataRecord lineItemRecord = new SqlDataRecord(metaData); lineItemRecord.SetString(0, itemNam

我们以这种方式使用SqlDataRecord(为了清晰起见,只显示了一个字段):

SqlMetaData[] metaData = new SqlMetaData[1];
metaData[0] = new SqlMetaData("ItemName", SqlDbType.NVarChar, 200);

SqlDataRecord lineItemRecord = new SqlDataRecord(metaData);
lineItemRecord.SetString(0, itemName);
问题是
SetString
中的
itemName
字符串似乎不能为空。若传递null,则它抛出异常,表示它不是有效值

如何为定义为
nvarchar null
的类型中的字段将null传递给存储过程用户定义的类型

可能是这样的:

if(itemName == null)
{
    lineItemRecord.SetDBNull(0);
}
else
{
    lineItemRecord.SetString(0, itemName);
}
可能是这样的:

if(itemName == null)
{
    lineItemRecord.SetDBNull(0);
}
else
{
    lineItemRecord.SetString(0, itemName);
}

您尝试过DBNULL吗?SetString不接受DBNULL。仅限(int,string)。是否尝试了DBNULL?SetString不接受DBNULL。只有(int,string)。嗯…不知道为什么我没有收到关于这个答案的通知。将很快进行测试,并返回反馈。谢谢嗯…不知道为什么我没有收到关于这个答案的通知。将很快进行测试,并返回反馈。谢谢