如何在C#中有条件地将参数添加到SQLCommand对象?

时间:2014-04-11 14:34:14

标签: c#

有没有不同的更好的方法(这只是其中的一部分):

if (dataRow["Row1"].ToString().Trim(' ') == string.Empty) 
        commandGI.Parameters.Add("@RegistrationNumber", SqlDbType.NVarChar).Value = System.DBNull.Value;
else commandGI.Parameters.Add("@RegistrationNumber", SqlDbType.NVarChar).Value = dataRow["Row1"];
if (dataRow["Row2"].ToString().Trim(' ') == string.Empty) 
        commandGI.Parameters.Add("@IdentityInfo", SqlDbType.Text).Value = System.DBNull.Value;
else commandGI.Parameters.Add("@IdentityInfo", SqlDbType.Text).Value = dataRow["Row2"];
if (dataRow["Ro3"].ToString().Trim(' ') == string.Empty) 
        commandGI.Parameters.Add("@Company", SqlDbType.Text).Value = System.DBNull.Value;
else commandGI.Parameters.Add("@Company", SqlDbType.Text).Value = dataRow["Row3"];

1 个答案:

答案 0 :(得分:2)

如果您使用的是.Net framework 4.0或更高版本,则可以使用string.IsNullOrWhiteSpace代替Trim,然后将其与string.Empty进行比较。

if(dataRow["Rows"] != null && string.IsNullOrWhiteSpace(dataRow["Rows"].ToString())

首先检查null以避免空引用异常。

如果您的dataRow对应于DataReader返回的行,那么您应该针对DBNull.Value

进行检查