今天碰到個問題。。SqlCommand對傳送的參數中如果字段的值是NULL具然不進行更新操作,也不提示任何錯誤。。。百思不得其解。。。先作個記錄,再查資料看看什麼原因。
暫時的解決方法:
1、Update不支持更新Null,先Delete後Insert來替換.
2、替代Null的方法,對於字符型,只要是Null,改爲空,語句中就是''.
找到了相關的解決方法
SqlCommand sqlCmd = new SqlCommand(sqlStatment, dbConn);
sqlCmd.Parameters.AddWithValue("@Name", name);
sqlCmd.Parameters.AddWithValue("@Surname", surname);
原來ADO.Net爲了防止一些不容易找出的錯誤,在Command操作時加了一些限制。我們必須明確指示Command對象,我們需要插入NUll值。修改後的代碼如下:
SqlCommand sqlCmd = new SqlCommand(sqlStatment, dbConn);
sqlCmd.Parameters.AddWithValue("@Name", name);
sqlCmd.Parameters.AddWithValue("@Surname", surname);
sqlCmd.Parameters[0].IsNullable = true;
sqlCmd.Parameters[1].IsNullable = true;
希望這點小經驗會對大家有幫助。