ado.net詳細研究(一)
2024-07-10 13:07:30
供稿:網友
 
最近閱讀了wrox的高效掌握 ado.net,有所感觸,希望與大家分享。第一次寫文章,不好請諒解。
第一篇:ado.net的概念
ado.net中間包含以下常見類: 
· connection 
· command 
· dataadapter 
· datareader 
· dataset
1 connection類
數據庫connection類提供與數據庫的連接。.net里面有oledbconnection類和sqlconnection類,分別針對不同的數據庫。sqlconnection針對sql server 7.0或者以上版本。
2 command類
數據庫command類是數據庫命令的封裝。這個命令可以是sql語句或者存儲過程。這個類也有一個與具體提供者相關的前綴,如oledb或者sql。所有command類必須實現一些屬性,用來更改command的文本和類型,參數,超時以及事務等。另外comand必須實現一些方法,以便執行command和返回信息。
3 dataadapter類
dataadarpter一般是結合dataset使用,那dataset“連接”到數據源中。
本質上dataadapter是容器,含有4個預先配置好的command實例,即selectcommand,insertcommand,deletecommand,updatecommand。這4個command實例將提供dataset與數據庫之間的操作。
4 datareader類
使用datareader可以實現對數據源中的數據高速、只向前的訪問。同時datareader是一個依賴連接的對象,這意味著你使用它的時候必須保持數據庫連接是打開的。
5 dataset類
相對復雜但是功能強大的類。后面具體介紹。
下面使用實例演示基本操作(我們使用sql server數據庫)。
using system;
using system.data;
using system.data.sqlclient;
 
namespace test101
{
 /// <summary>
 /// class1 的摘要說明。
 /// </summary>
 class class1
 {
 /// <summary>
 /// 應用程序的主入口點。
 /// </summary>
 [stathread]
 static void main(string[] args)
 {
 //
 // todo: 在此處添加代碼以啟動應用程序
 //
 
 sqlconnection conn = new sqlconnection("server = joycode;initial catalog = northwind; user id = sa;password = 87345587;");
 conn.open();
 //上面兩行代碼新建一個sqlconnection對象conn,并把數據庫連接字符串賦給其構造函數并通過open方法打開數據庫連接。
 sqlcommand cmd = conn.createcommand();//通過conn的createcommand方法建立一個sqlcommand
 cmd.commandtext = "select top 5 * from customers";//設置cmd對象的命令是讀取數據庫匯總前5條信息
 cmd.commandtype = commandtype.text;//設置cmd的類型是sql語句,也就是默認的類型
 //當然我們可以使用cmd.commandtype = commandtype.storedprocedure指定命令類型為存儲過程。
 //下面的代碼使用cmd的executereader方法新建一個sqldatareader對象。
 //注意:datareader沒有自己的構著函數,只能通過cmd的executereader新建。
 sqldatareader reader = cmd.executereader(commandbehavior.closeconnection);
 string output;
 while(reader.read())
 {
 output = string.format("customer {0} : {1} works for {2}",
 reader.getstring(0),reader.getstring(1),reader.getstring(2));//讀取信息并顯示。后面我們將專門介紹datareader類
 console.writeline(output);
 }
 }
 }
}
界面如下:
下一篇文章我們將詳細研究datareader類