有没有不同的更好的方法(这只是其中的一部分):
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"];
答案 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