(轉) c# ExecuteNonQuery() 返回值 -1

這是以前我遇到問題,在網上找解決方法時找到的,當時複製到txt文檔了,今天整理筆記又看到了,貼出來,便於之後查閱。原文的做者沒記住~~數據庫

 

查詢某個表中是否有數據的時候,若是用ExecuteNonQuery() 來判斷值是否大於0來判斷數據的存在與否,是不正確的。對象

SqlCommand.ExecuteNonQuery 方法對鏈接執行 Transact-SQL 語句並返回受影響的行數。文檔

備註:能夠使用 ExecuteNonQuery 來執行目錄操做(例如查詢數據庫的結構或建立諸如表等的數據庫對象),或經過執行 UPDATE、INSERT 或 DELETE 語句,在不使用 DataSet 的狀況下更改數據庫中的數據。      date

雖然 ExecuteNonQuery 不返回任何行,但映射到參數的任何輸出參數或返回值都會用數據進行填充。對於 UPDATE、INSERT 和 DELETE 語句,返回值爲該命令所影響的行數。對於全部其餘類型的語句,返回值爲 -1。若是發生回滾,返回值也爲 -1       select

也就是說,若是不是update,insert,delete操做數據記錄的語句,返回值都是-1,因此, select語句不適合ExecuteNonQuery()方法方法

相關文章
相關標籤/搜索