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


















