需要進行以下檢查以檢查空值。有沒有辦法直接做到這一點?如何將值分配給sqlparameter NULL值而不檢查null或0?
if(node.ID==0)
{
cmd.Parameters["@ID"].Value = DBNull.Value;
}
else
{
cmd.Parameters["@ID"].Value = node.ID;
}
有沒有辦法我們可以證明這種檢查和設計,我們可以避免這種重複檢查每個值? (順便說一下它只是0邏輯被解釋爲NULL我的情況,但我問類似的字符串爲空的對象也一樣)
你可以使用三元運算符(?:)將其全部寫入一行,這會有幫助嗎? – Dirk
請注意,它對於可空類型(引用或可爲空值類型)是一個非常不同的答案。是否有任何理由讓你的'ID'屬性不是'Nullable'或者其他什麼? –
如果你不小心寫入了數據庫,你真的不想要什麼?您可能會希望之前的檢查是必需的。發生異常時,有時不是件壞事。 – Johnny