CReader 源過程(Access):
作用:利用DataReader閱讀類,執(zhí)行數(shù)據(jù)的“只向前”的讀取,。
問:什么是DataReader,?
答:ADO.NET DataReader對(duì)象可以從數(shù)據(jù)庫中檢索只讀、只進(jìn)的數(shù)據(jù)流,。因?yàn)槊看卧趦?nèi)存中的數(shù)據(jù)只有一行,,所以使用DataReader可提高應(yīng)用程序的性能并減少系統(tǒng)開銷,。它還提供了未緩沖的數(shù)據(jù)流,該數(shù)據(jù)流使過程邏輯可以有效地按順序處理從數(shù)據(jù)源中返回的結(jié)果,。由于數(shù)據(jù)不在內(nèi)存中緩存,,所以在檢索大量數(shù)據(jù)時(shí),DataReader是一種合適的選擇,。
string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath ("db1.mdb");//ACCESS鏈接字符串
OleDbConnection ConnAcc=new OleDbConnection (strConn); //OleDb鏈接類的實(shí)例化
ConnAcc.Open ();//打開數(shù)據(jù)庫
string strSQL="SELECT * FROM 表名1";//SQL語句
OleDbCommand cmd = new OleDbCommand(strSQL,ConnAcc);//創(chuàng)建Command命令對(duì)象
OldDbDataReader dr=cmd.ExecuteReader();//創(chuàng)建DataReader對(duì)象,,并調(diào)用ExecuteReader從數(shù)據(jù)源檢索行
dr.Read();//啟動(dòng)閱讀器的Read方法,返回行的每一列
//..數(shù)據(jù)讀取..
dr.Close();//關(guān)閉閱讀器
ConnAcc.Close();//關(guān)閉數(shù)據(jù)庫
GetDataSet 源過程(Access):
作用:利用DataSet,,DataAdapter讀取數(shù)據(jù),。
問:什么是DataSet?
答:DataSet對(duì)象與ADO Recordset對(duì)象相似,,但功能更為強(qiáng)大,,并具有另一重要區(qū)別:DataSet始終是斷開的。DataSet對(duì)象表示數(shù)據(jù)的緩存,,具有類似數(shù)據(jù)的結(jié)構(gòu),,如表、列,、關(guān)系和約束,。但是,盡管DataSet可以像數(shù)據(jù)庫那樣運(yùn)行,,但重要的是要記?。篋ataSet對(duì)象不直接與數(shù)據(jù)或其他源數(shù)據(jù)進(jìn)行交互。這使得開發(fā)人員能夠使用始終保持一致的編程模型,,而不用理會(huì)源數(shù)據(jù)的駐留位置,。
問:什么是DataAdapter?
答:DataAdapter對(duì)象在DataSet與數(shù)據(jù)源之間起橋梁作用,。
string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath ("db1.mdb");//ACCESS鏈接字符串
OleDbConnection ConnAcc=new OleDbConnection (strConn); //OleDb鏈接類的實(shí)例化
ConnAcc.Open ();//打開數(shù)據(jù)庫
string strSQL="SELECT * FROM 表名1 "; //要執(zhí)行的SQL語句
OleDbDataAdapter da=new OleDbDataAdapter(strSQL,ConnAcc); //創(chuàng)建DataAdapter數(shù)據(jù)適配器實(shí)例
DataSet ds=new DataSet();//創(chuàng)建DataSet實(shí)例
da.Fill(ds,"自定義虛擬表名");//使用DataAdapter的Fill方法(填充),,調(diào)用SELECT命令
ConnAcc.Close ();//關(guān)閉數(shù)據(jù)庫
GetExecuteNonQuery 源過程(Access):
作用:利用ExecuteNonQuery,執(zhí)行數(shù)據(jù)的插入,、更新,、刪除。
問:什么是ExecuteNonQuery,?
答:在ADO.NET中,,ExecuteNonQuery方法用于執(zhí)行不需要返回結(jié)果的命令,如插入,、刪除和更新等操作,。
string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath ("db1.mdb");//ACCESS鏈接字符串
OleDbConnection ConnAcc=new OleDbConnection (strConn); //OleDb鏈接類的實(shí)例化
ConnAcc.Open ();//打開數(shù)據(jù)庫
string strSQL="INSERT INTO 表名1、UPDATE 表名1 SET、DELETE FROM 表名1";//插入,、更新,、刪除的SQL語句
OleDbCommand cmd=new OleDbCommand (strSQL,ConnAcc);//創(chuàng)建Command命令對(duì)象
cmd.ExecuteNonQuery();//執(zhí)行命令
ConnAcc.Close ();//關(guān)閉數(shù)據(jù)庫
GetExecuteScalar 源過程(Access):
作用:利用ExecuteScalar統(tǒng)計(jì)數(shù)據(jù)。
問:什么是ExecuteScalar,?
答:ExecuteScalar方法可以返回單個(gè)值,,如求和、總行數(shù)等SQL語句的聚合函數(shù),。
string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath ("db1.mdb");//ACCESS鏈接字符串
OleDbConnection ConnAcc=new OleDbConnection (strConn); //OleDb鏈接類的實(shí)例化
ConnAcc.Open ();//打開數(shù)據(jù)庫
string strSQL="SELECT COUNT(*) FROM 表名1";//SQL統(tǒng)計(jì),SUM等等
OleDbCommand cmd = new OleDbCommand(strSQL,ConnAcc);//創(chuàng)建Command命令對(duì)象
int intNum=(int)cmd.ExecuteScalar();//得到統(tǒng)計(jì)數(shù),SUM則用double
ConnAcc.Close();//關(guān)閉數(shù)據(jù)庫
注:使用SQL Server請(qǐng)將關(guān)鍵字OleDb改為Sql,,并修改字符串strConn為SQL Server鏈接參數(shù)即可。Socut.Data組件的原理,,其實(shí)只是將Access與SQL Server數(shù)據(jù)庫的操作代碼有機(jī)整裝成類,,在調(diào)用時(shí)只需手寫少量的SQL變量語句。本文檔僅作為Socut.Data組件的源碼參考,,所列之處均為精華部分,,供學(xué)有余力的學(xué)員自行查看,不在規(guī)定學(xué)習(xí)范圍內(nèi),。