簡體   English   中英

從C#DbCommand向SQL DB插入NULL

[英]Inserting NULL to SQL DB from C# DbCommand

        DbParameter param = comm.CreateParameter();
        param = comm.CreateParameter();
        param.ParameterName = "@StaffId";
        if (!string.IsNullOrEmpty(activity.StaffId))
            param.Value = activity.StaffId;
        param.DbType = DbType.String;
        comm.Parameters.Add(param);

以上不起作用(顯然),對象未實例化。 我正在嘗試在未填充StaffId時將NULL插入數據庫。 我怎樣才能做到這一點?

當需要將NULL作為參數傳遞給存儲過程時,可以使用DBNull.Value。

param.Value = DBNull.Value;

或者您可以使用它而不是if運算符:

param.Value = !string.IsNullOrEmpty(activity.StaffId) ? activity.StaffId : (object)DBNull.Value;

試試DBNull.Value

if (!string.IsNullOrEmpty(activity.StaffId))
   param.Value = activity.StaffId;
else
  param.Value=DBNull.Value;

你可以使用DBNull.Value

param.Value = DBNull.Value;

你總是可以使用null-coalescing運算符(??)

param.Value = activity.StaffId ?? (object)DBNull.Value;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM