我正在使用ado.net調用存儲過程並插入數據。 什麼是確保在我插入之前沒有任何參數爲空的最佳方法? 該表將允許某些列上的空值,但在這種情況下,我需要確保每個值在插入之前都不爲空。 我可以檢查每個值爲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();
}
開展您的驗證的Web窗體將它傳遞到數據訪問層之前... – 2012-09-19 17:59:21
@邁克爾我並不總是有控制的形式驗證的能力,因爲它往往是由另一家開發商或完成球隊。我需要以某種方式捕捉它,如果有什麼不應該插入之前留空。這種方法只是我需要做的許多事情之一。這只是最簡單的發佈。有些來自各種來源的數據要複雜得多,我需要確保它們在插入之前不會忘記任何數據。希望有道理。謝謝! – twaldron