
輸入符合要求的資料就能正常執行,messagebox也可以彈出
輸入不符合要求的資料就報錯(如下圖)

怎么讓他插入失敗時提示MESSAGEBOX,而不是直接報錯
求大神解答
uj5u.com熱心網友回復:
很明顯,你輸出的引數是一個 varchar,但是資料庫欄位型別是 smallint你列印sql陳述句就知道了。
uj5u.com熱心網友回復:
我是想讓用戶輸入不符合要求的資料時,會彈出MESSAGEBOX提示用戶輸入有誤
而不是直接報錯

型別正確 不符合觸發器要求都會報錯
uj5u.com熱心網友回復:
對引數提前進行校驗或者try-catch執行陳述句
uj5u.com熱心網友回復:
你把執行陳述句寫到try里面catch里面寫messageboxuj5u.com熱心網友回復:
類似這樣:string sql = " BEGIN TRANSACTION ";
sql += " update Score SET [C#] = '" + a + "',[SQL] = '" + b + "',[Math] = '" + c + "',[Web] = '" + d + "'"+
" where sno='" + stuNo + "'";
sql += "if @@error<>0 RollBack else commit ";
try
{
if (ExecuteNoQuery(sql) > 0)
{
MessageBox.Show("修改成功!");
loadlist();
}
}
catch(Exception)
{
MessageBox.Show("修改失敗!");
}
uj5u.com熱心網友回復:
謝謝大神,成了
uj5u.com熱心網友回復:
謝謝大神,成了
uj5u.com熱心網友回復:
謝謝大神,成了
uj5u.com熱心網友回復:
你這sql陳述句的可讀性太差,實際專案里需要寫成引數化的sql或者存盤程序uj5u.com熱心網友回復:
3嘍的回復
uj5u.com熱心網友回復:
和明顯資料庫欄位型別和你所寫的專案型別不一致,型別轉換失敗轉載請註明出處,本文鏈接:https://www.uj5u.com/net/73180.html
標籤:ASP.NET
