ExecuteNonQuery()返回值


本文導讀:雖然 ExecuteNonQuery 不返回任何行,但映射到參數的任何輸出參數或返回值都會用數據進行填充。對於 UPDATE、INSERT 和 DELETE 語句,返回值為該命令所影響的行數。對於所有其他類型的語句,返回值為 -1。如果發生回滾,返回值也為 -1 。 下面介紹ExecuteNonQuery()返回值

ExecuteNonQuery()方法主要用戶更新數據,通常它使用Update,Insert,Delete語句來操作數據庫

 

一、ExecuteNonQuery方法返回值

 

1、對於 Update,Insert,Delete  語句 執行成功是返回值為該命令所影響的行數,如果影響的行數為0時返回的值為0。

2、對於所有其他類型的語句,返回值為 -1。

3、如果發生回滾,返回值也為 -1 。

4、我們平時對於更新操作通過判斷返回值是否大於0沒有問題而且比較好,但是對於其他的操作如對數據庫結構的操作,如果操作成功時返回的卻是-1,這種情況跟我們平時的思維方式有點差距所以應該好好的注意了,例如對數據庫共添加一個數據表的Create操作,當創建數據表成功時返回-1,如果操作失敗的話(如數據表已經存在)往往會發生異常,所以執行這種操作時最好用try--catch--語句來容錯。

 

 

二、ASP.NET中ExecuteNonQuery的使用示例

 
C# 代碼     復制
ExecuteNonQuery()返回值
  public void CreateMySqlCommand(string myExecuteQuery, SqlConnection myConnection) ExecuteNonQuery()返回值 ExecuteNonQuery()返回值 { ExecuteNonQuery()返回值 ExecuteNonQuery()返回值 SqlCommand myCommand = new SqlCommand(myExecuteQuery, myConnection); ExecuteNonQuery()返回值 myCommand.Connection.Open(); ExecuteNonQuery()返回值 myCommand.ExecuteNonQuery(); ExecuteNonQuery()返回值 myConnection.Close(); ExecuteNonQuery()返回值 ExecuteNonQuery()返回值 } ExecuteNonQuery()返回值


 

三、用ExecuteNonQuery()方法執行create操作

 

C# 代碼     復制
ExecuteNonQuery()返回值 SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=PSDB;Integrated Security=SSPI"); ExecuteNonQuery()返回值 ExecuteNonQuery()返回值 string str = "CREATE TABLE aaa ( " + ExecuteNonQuery()返回值 "[ID] [int] IDENTITY (1, 1) NOT NULL , " + ExecuteNonQuery()返回值 "[BasicID] [int] NULL ," + ExecuteNonQuery()返回值 "[AdoptedName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ," + ExecuteNonQuery()返回值 "[AdoptedSex] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ," + ExecuteNonQuery()返回值 "[AdoptBirthday] [smalldatetime] NULL ," + ExecuteNonQuery()返回值 "[AdoptedType] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ," + ExecuteNonQuery()返回值 "[ApprTime] [smalldatetime] NULL ," + ExecuteNonQuery()返回值 "[Remark] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL " + ExecuteNonQuery()返回值 ") ON [PRIMARY] "; ExecuteNonQuery()返回值 ExecuteNonQuery()返回值 SqlCommand comm = new SqlCommand(str, conn); ExecuteNonQuery()返回值 int i = 10; ExecuteNonQuery()返回值 try ExecuteNonQuery()返回值 { ExecuteNonQuery()返回值 conn.Open(); ExecuteNonQuery()返回值 i = comm.ExecuteNonQuery(); ExecuteNonQuery()返回值 conn.Close(); ExecuteNonQuery()返回值 } ExecuteNonQuery()返回值 catch (Exception ex) ExecuteNonQuery()返回值 { ExecuteNonQuery()返回值 Response.Write(ex.Message); ExecuteNonQuery()返回值 } ExecuteNonQuery()返回值 ExecuteNonQuery()返回值 Response.Write(i.ToString()); 
ExecuteNonQuery()返回值

如果執行成功的話 返回的值為-1,如果數據表已經存在的話返回異常:數據庫中已存在名為 'aaa' 的對象。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM