淺談ADO.NET中的對象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable,
可能是當初沒有好好總結的緣故,學習.NET以來,對ADO.NET中的對象一直有些模糊,今天重新回顧了一下,通過查資料,總結,結合自己的觀點整理一下ADO.NET中Connection、Command、DataReader、DataAdapter、
DataSet、DataTable這幾個對象的相關知識,希望對初學者能起到一個全域把控的作用,希望大牛能留下寶貴的指導意見。
以下的例子僅以串連 SQL Server資料庫為例,所以分別以SqlConnection、SqlCommand、SqlDataReader、SqlDataAdapter、DataSet、DataTable為例進行說明。
ADO.NET對象 【
SqlConnection】
我們打電話時,通常有三個步驟:撥號→通話→掛機。
與資料庫打交道的過程也是如此。通常我們訪問資料庫,首先都必須要通過SqlConnection與資料庫建立串連,然後對資料庫進行操作,最後關閉與資料庫的串連。
下面是一個完整的SqlConnection的生命週期:
<span style="font-family:SimSun;"> string strConn = "server=192.168.24.123;database=DataBaseName;uid=sa;pwd=123456"; //定義資料庫連接字串 SqlConnection conn = new SqlConnection(strConn); //執行個體化Sqlconnection對象 //具體操作 //…… //…… //具體操作 conn.Close(); //操作完畢,串連關閉</span>
【SqlCommand】
從字面上來看就會理解SqlCommand就是一個命令,當與資料庫建立串連之後,就可以用SqlCommand來對資料庫進行增刪改查、執行預存程序等。
我們可以通過三種方法來建立SqlCommand對象:
1、直接建立,再分別對屬性賦值:
<span style="font-family:SimSun;"> string strConn,cmdText; strConn="server=192.168.24.123;database=DataBaseName;uid=sa;pwd=123456"; cmdText="select * from TableName"; SqlCommand cmd=new SqlCommand(); cmd.Connection=strConn; cmd.cmdText="select * from TableName";</span>
2、利用SqlCommand的建構函式進行建立:
<span style="font-family:SimSun;"> string strConn,cmdText; strConn="server=192.168.24.123;database=DataBaseName;uid=sa;pwd=123456"; cmdText="select * from TableName"; SqlCommand cmd=new SqlCommand(strConn,cmdText);</span>
3、通過SqlConnection對象的CreateCommand()方法建立:
<span style="font-family:SimSun;"> strConn,cmdText; strConn="server=192.168.24.123;database=DataBaseName;uid=sa;pwd=123456"; SqlConnection conn=new SqlConnection(strConn); SqlCommand cmd=conn.CreateCommand(); cmd.cmdText="select * from TableName"; </span>
SqlCommand常用的屬性有:
◆ CommandText:需要執行的SQL語句、表名或預存程序。
◆ CommandType:需要執行的CommandText的類型,預設值是“Text”,表示執行的是SQL語句;值“StoredProcedure表示執行的是預存程序”。
◆ Parameters:CommandText中的參數,可以通過cmd.Parameters.Add()或cmd.Parameters.AddRange()方法添加參數。
SqlCommand常用的方法有:
◆ ExecuteNonQuery():返回值為整形,表示對資料庫進行增刪改後,資料庫所影響的行數,也可以直接執行。
◆ ExecuteReader():返回值為SqlDataReader類型,用於對資料庫的查詢,下文對SqlDataReader的描述中會說明。
◆ ExecuteScalar():返回值為object類型,用於查詢資料庫中的單個值,比如尋找到的姓名為“張三”,那麼查詢後就可以轉化成字元型;尋找到的張三的年齡為21,那麼查詢後就可以轉化成整型。