我正在使用 ado.net 调用 sproc 并插入数据。在插入之前确保所有参数都不为空的最佳方法是什么?该表将允许在某些列上使用空值,但在这种情况下,我需要确保每个值在插入之前都不为空。我可以检查每个值是否为 null 并在它分配 SqlParameter 之前抛出一个 nullargument 异常。只是不确定这是否是最好的方法。
谢谢
这是我的一些代码供参考
using (var con = new SqlConnection(ConnectionString.GetWebTablesConnectionString()))
using (var cmd = new SqlCommand("InsertNewCustomer", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("dealerid", SqlDbType.Int).Value = dealerid;
cmd.Parameters.Add("firstname", SqlDbType.NVarChar, 50).Value = customerToInsert.FirstName;
cmd.Parameters.Add("lastname", SqlDbType.NVarChar, 50).Value = customerToInsert.LastName;
cmd.Parameters.Add("mailingaddress", SqlDbType.NVarChar, 50).Value = customerToInsert.MailingAddress.Addr;
cmd.Parameters.Add("mailingcity", SqlDbType.NVarChar, 30).Value = customerToInsert.MailingAddress.City;
cmd.Parameters.Add("mailingstate", SqlDbType.NVarChar, 25).Value = customerToInsert.MailingAddress.State;
cmd.Parameters.Add("mailingzip", SqlDbType.NVarChar, 10).Value = customerToInsert.MailingAddress.Zip;
cmd.Parameters.Add("mailingcountry", SqlDbType.NVarChar, 2).Value = customerToInsert.MailingAddress.Country;
cmd.Parameters.Add("homephone", SqlDbType.NVarChar, 20).Value = customerToInsert.HPhone;
cmd.Parameters.Add("email", SqlDbType.NVarChar, 75).Value = customerToInsert.Email;
cmd.Parameters.Add("referredBy", SqlDbType.NVarChar, 50).Value = customerToInsert.ReferredBy;
con.Open();
cmd.ExecuteNonQuery();
}