SqlCommand的四大方法


SqlCommand類的方法

----》》》1.ExecuteNonQuery();
它的返回值類型為int型。多用於執行增加,刪除,修改數據,返回受影響的行數。當select操作時,返回-1。
ExecuteNonQuery()方法主要用戶更新數據,通常它使用Update,Insert,Delete語句來操作數據庫,

其方法返回值意義:對於 Update,Insert,Delete 語句 執行成功是返回值為該命令所影響的行數,如果影響的行數為0時返回的值為0


----》》》2.ExecuteReader();
它的返回類型為SqlDataReader。此方法用於用戶進行的查詢操作。使用SqlDataReader對象的Read();方法進行逐行讀取。
其中的讀取數據列的時候。除了使用reder["列名"].ToString();還可以使用reder[索引].ToSting();<注意:這里的索引指的是數據庫中列的索引。從0開始。>


----》》》3.ExecuteScaler();
它的返回值類型多位int類型。它返回的多為執行select查詢。得到的返回結果為一個值的情況,比如使用count函數求表中記錄個數或者使用sum函數求和等。
ExecuteScalar()方法也用來執行SQL語句,但是ExecuteScalar()執行SQL語句后的返回值與ExecuteNonQuery()並不相同,ExecuteScalar()方法的返回值的數據類型是Object類型。如果執行的SQL語句是一個查詢語句(SELECT),則返回結果是查詢后的第一行的第一列,如果執行的SQL語句不是一個查詢語句,則會返回一個未實例化的對象,必須通過類型轉換來顯示,示例代碼如下所示。
string str = "server='(local)';database='mytable';uid='sa';pwd='sa'"; //創建連接字串
SqlConnection con = new SqlConnection(str); //創建連接對象
con.Open(); //打開連接
string strsql = "select * from mynews order by id desc";
SqlCommand cmd = new SqlCommand(strsql, con);
Label1.Text = "查詢出了Id為" + cmd.ExecuteScalar() \; //使用ExecuteScalar查詢
通常情況下ExecuteNonQuery()操作后返回的是一個值,而ExecuteScalar()操作后則會返回一個對象,ExecuteScalar()經常使用於當需要返回單一值時的情況。例如當插入一條數據信息時,常常需要馬上知道剛才插入的值,則可以使用ExecuteScalar()方法。示例代碼如下所示。
string str = "server='(local)';database='mytable';uid='sa';pwd='sa'"; //創建連接字串
SqlConnection con = new SqlConnection(str); //創建連接對象
con.Open(); //打開連接
string strsql = "insert into mynews values ('剛剛插入的id是多少?')
SELECT @@IDENTITY as 'bh'"; //插入語句
SqlCommand cmd = new SqlCommand(strsql, con); //執行語句
Label1.Text = "剛剛插入的行的id是" + cmd.ExecuteScalar(); //返回賦值
上述代碼使用了SELECT @@IDENTITY語法獲取剛剛執行更新后的id值,然后通過使用ExecuteScalar()方法來獲取剛剛更新后第一行第一列的值。


免責聲明!

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



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