天天看點

C#連接配接SQL Server中關于command.ExecuteNonQuery()方法的一些了解

最近在編寫連接配接資料庫(SQL Server 2012)的窗體時遇到一些小問題,就是在資料庫指定表格的指定位置更改資料時無論如何也不能成功。

剛開始我以為是我的SQL語句 寫錯了(我用的是UPDATE語句),後來我将該語句放到SQL Server 2012的查詢中運作沒有問題。

困惑了一段時間,直到一次偶然的嘗試,我發現我犯了一個低級的錯誤。`

SqlCommand comm = new SqlCommand(sqlStr, conn);
 int rc = comm.ExecuteNonQuery();
 //執行sqlcommand對象所承載的語句并傳回是受影響的行數(必須有該條語句,否則SQL指令不執行)
         if (rc == 1)
        {
           MessageBox.Show("修改儲存成功");
        }
           

參照上邊的例子,我一直以為執行個體化sqlcommand類的對象comm後,sql指令sqlStr會被執行。事實并不是如此,還需要comm對象執行ExecuteNonQuery方法。

該方法執行Comm所承載的sql指令并傳回資料庫中受影響的函數(該方法主要應用于不會傳回值的資料庫操作,例如INSERT,UPDATE,DELETE等等,SELECT一般使用ExecuteReader方法)。