知識手冊:關于ADO.NET SqlCommand對象介紹
#T#了解ADO.NET的朋友都知道,ADO.NET為我們提供了多種對象模型,下面是其中的兩個典型的對象模型,它們都是在System.Data.SqlClient名稱空間下。下面我們大家就趕快的來看看吧!以往編寫程序時,我們可以直接通過.NET Framework 所提供的多線程機制,或是以 Delegate 類包裝多線程的方式,在 .NET Framework 所提供的異步架構下,設計調用執(zhí)行 Command 對象實例。這些方法都是讓一條工作線程(Worker Thread)停止在后臺中等待執(zhí)行結果,一旦有結果后,工作線程再通過標準的機制告知結果。
一、ADO.NET SqlConnection對象
ADO.NET使用SqlConnection對象與SQL Server進行連接。連接字符串的常用形式有兩種:
1.使用Windows集成安全身份認證,例如:
- string connectionString ="IntegratedSecurity=SSPI;Database=MyDatabase.mdf;Server=localhost;";
或:
- string connectionString = "Initial Catalog= MyDataBase; Data Source=localhost;Integrated Security=SSPI;"
2.在連接字符串中指定服務器名、用戶id、用戶口令、數(shù)據(jù)庫名等信息。例如:
- string connectionString = "server=localhost; uid=sa; pwd=123; database=MyDatabase.mdf";
然后通過連接字符串直接創(chuàng)建SqlConnection對象,如
- SqlConnection conn = new SqlConnection(connectionString);
二、ADO.NET SqlCommand對象
在ADO.NET中,有兩種操作數(shù)據(jù)庫的方式:
1.無連接的方式;
2.保持連接的方式。
不論采用哪種方式,都可以通過ADO.NET SqlCommand對象提供的方法傳遞對數(shù)據(jù)庫操作的命令,并返回命令執(zhí)行的結果。
在保持連接的方式下操作數(shù)據(jù)庫的一般步驟為:
1.創(chuàng)建SqlConnection的實例;
2.創(chuàng)建SqlCommand的實例;
3.打開連接;
4.執(zhí)行命令;
5.關閉連接。
ADO.NET SqlCommand對象提供了多種完成對數(shù)據(jù)庫操作的方法。常用有:
- ExecuteNonQuery
該方法執(zhí)行SQL語句的結果,但不返回命令執(zhí)行的表數(shù)據(jù),僅返回操作所影響的行數(shù)。
- ExecuteReader
ExecuteReader方法提供了只向前的、順序的快速讀取數(shù)據(jù)庫中數(shù)據(jù)的方法。該方法根據(jù)提供的SELECT語句,返回一個可以順序讀取的SqlDataReader對象,編程者可以使用Read方法循環(huán)依次讀取每個記錄中各字段(列)的內容。
- ExecuteScaler()
該方法用于執(zhí)行SELECT查詢,得到的返回結果為一個值的情況,比如使用count函數(shù)求表中記錄個數(shù)或者使用sum函數(shù)求和等。