2017-07-14 72 views
1

我們正在使用的SqlDataRecord(爲清晰起見只是一個場)是這樣的:SqlDataRecord.SetString - 空字符串錯誤

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

SqlDataRecord lineItemRecord = new SqlDataRecord(metaData); 
lineItemRecord.SetString(0, itemName); 

的問題是,它似乎像在SetStringitemName字符串不能爲空。如果傳遞了null,那麼它會拋出異常,說它不是一個有效的值。

如何將null傳遞給存儲過程用戶定義類型的字段類型定義爲nvarchar NULL

+0

你嘗試的DBNull? –

+0

SetString不接受DBNull。 only(int,string)。 –

回答

2

可能是這樣的:

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

嗯......不知道爲什麼我還沒有收到有關此答案的通知。將很快進行測試,並返回反饋。謝謝! –

+0

是的,這個工程!謝謝! –