創作內容

0 GP

.Net中SqlCommand.Parameters必須要給予值

作者:怪鳥│2010-10-21 12:55:30│巴幣:0│人氣:546
雖然從.net framework 3.5開始,微軟就推薦使用Linq讀取SQL Server資料,但是我還是喜歡傳統做法。今天這讓我嘗到苦果。
請看以下範例使用C#

SqlConnection conn = new SqlConnection(ConnectionString);
SqlCommand InsCmd
  = new SqlCommand("INSERT INTO [TableName]([COLA],[COLB])VALUES(@COLA,@COLB)", conn);
InsCmd.Parameters.Add("@COLA", SqlDbType.NVarChar, 5).Value="aa";
InsCmd.Parameters.Add("@COLB", SqlDbType.NVarChar, 5);
conn .Open();
InsCmd.ExecuteNonQuery();
conn .Close();

以上範例編譯時沒問題,執行了也不會出錯,但是資料就是沒寫進資料庫。仔細檢查才發現@COLB忘記值了。如果編譯時檢查不出也就算了,為何執行時也不丟出exception?微軟,我真是猜不透你阿。

雖然Linq能在編譯時就知道SQL command的錯誤,但是這世界又不是只有SQL Server。所以我決定還是繼續堅守傳統的SQL command。
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=546026
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:C#|VB.Net|ASP.Net

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

喜歡★stbird 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:在javascript中... 後一篇:在.net環境下將十進位...

追蹤私訊切換新版閱覽

作品資料夾

kebin0310所有人
全新系列連載開始!!維安特勤隊的熱血故事看更多我要大聲說3小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】