ADO.Net

問:ADO.Net是什麼

答:ADO 是 .Net DataBase 操作的相關類的集合。

 

ADO(常用)的相關對象


1、連接對象:Connection

2、命令對象:Command

3、數據讀取器對象:DataReader    

4、  數據適配器對象: DataAdapter

5、數據對象: DataSet

 

(Sql)ADO.NET中常用的對象有:

SqlConnection:該對象表示與數據庫服務器進行連接。 

SqlCommand:該對象表示要執行的SQL命令。 

SqlParameter;該對象代表了一個將被命令中標記代替的值。 

SqlDataAdapter:該對象表示填充命令中的DataSet對象的能力。 

DataSet:表示命令的結果,可以是數據集,並且可以同BulletedList進行綁定。

Connection 對象

Connection 對象主要是開啓程序和數據庫之間的連結。

要訪問一個數據源,先必須建立一個到它的連接。這個連接指明瞭它的 數據庫服務器、數據庫名字、用戶名、密碼以及連接數據庫所需要的其它參數。

command對象通過使用connection對象來知道是在哪個數據庫上面執行命令。

SQL使用System.Data.SqlClient命名 

連接SQL數據庫,則需要創建SqlConnection對象,SqlConnection對象創建代碼如下所示。

 

SqlConnection con = new SqlConnection(); //創建連接對象 
con.ConnectionString = "server='(local)';database='mytable';uid='sa';pwd='sa'"; //設置連接字串

 

上述代碼創建了一個SqlConnection對象,並且配置了連接字串。SqlConnection對象專門定義了一個專門接受連接字符串的變量ConnectionString,當配置了ConnectionString變量後,就可以使用Open()方法來打開數據庫連接

 

第一種寫法:

            string myConnstr = "Server= 服務器名;DataBase=數據庫名;Uid=sa;pwd=";
            SqlConnection myCon = new SqlConnection(myConnstr);
            string mySql = "select * from 表名";//一條Sql語句
            SqlCommand myCmd = new SqlCommand(mySql,myCon);
            myCon.Open();


第二種寫法:

            string myConnstr = "Server= 服務器名;DataBase=數據庫名;Uid=sa;pwd=";
            string mySql = "select * from 表名";//一條Sql語句
              using (SqlConnection myCon = new SqlConnection(myConnstr))
            {
                using (SqlCommand myCmd = new SqlCommand(mySql, myCon))
                {
                    myCon.Open();                    
                }
            }

 

Command對象

Command對象可以使用數據命令直接與數據源進行通信。

成功與數據建立連接後,就可以用Command對象來執行查詢、修改、插入、刪除等命令;Command 對象主要用來對數據庫發出一些指令,例如可以對數據庫下達查詢、新增、修改、刪除數據等指令,以及呼叫存在數據庫中的預存程序等。這個對象是架構在Connection 對象上,也就是Command 對象是通過Connection 對象連結到數據源。

 

SqlCommand myCmd = new SqlCommand();
myCmd.Connection = myConn;
myCmd.CommandText = "select * from  表名";


Command對象常用的方法有:

ExecuteReader()方法

ExecuteScalar()方法

ExecuteNonQuery()方法

 

ExecuteScalar()方法 

CommandExecute方法提供了返回單個值的功能。在很多時候,開發人員需要獲取剛剛插入的數據的ID值,或者可能需要返回Count(*)Sum(Money)等聚合函數的結果,則可以使用ExecuteScalar方法

 

ExecuteNonQuery()方法

當指定了一個SQL語句,就可以通過ExecuteNonQuery方法來執行語句的操作。ExecuteNonQuery不僅可以執行SQL語句,開發人員也可以執行存儲過程或數據定義語言語句來對數據庫或目錄執行構架操作

 

ExecuteReader()方法

讀取數據集到應用程序客戶端。

 

關於command的一些方法的說明

ExecuteNonQuery 對連接執行 Transact-SQL 語句並返回受影響的行數。 (重寫DbCommand..::.ExecuteNonQuery()()()。)
ExecuteReader 已重載。 CommandText 發送到 Connection 並生成一個 SqlDataReader
ExecuteScalar 執行查詢,並返回查詢所返回的結果集中第一行的第一列。忽略其他列或行。 (重寫DbCommand..::.ExecuteScalar()()()。)
ExecuteXmlReader CommandText 發送到Connection 並生成一個XmlReader 對象。

DataReader對象

  許多數據操作要求你只是讀取一串數據。DataReader對象允許你獲得從Command對象的 select 語句得到的結果。考慮性能的因素,從DataReader返回的數據都是快速的且只是“向前”的數據流。這意味着你只能按照一定的順序從數據流中取出數據。這對於速度來說是有好處的,但是如果你需要操作數據,更好的辦法是使用DataSet。

DataAdapter類

  某些時候你使用的數據主要是隻讀的,並且你很少需要將其改變至底層的數據源。同樣一些情況要求在內存中緩存數據,以此來減少並不改變的數據被數據庫調用的次數。DataAdapter通過斷開模型來幫助你方便的完成對以上情況的處理。當在一單批次的對數據庫的讀寫操作的持續的改變返回至數據庫的時候,DataAdapter 填充(fill)DataSet對象。DataAadapter包含對連接對象以及當對數據庫進行讀取或者寫入的時候自動的打開或者關閉連接的引用。另外,DataAdapter包含對數據的SELECT、INSERT、UPDATE和DELETE操作的Command對象引用。你將爲DataSet中的每一個Table都定義DataAadapter,它將爲你照顧所有與數據庫的連接。所有你將做的工作是告訴DataAdapter什麼時候裝載或者寫入到數據庫。

DataSet對象

  DataSet對象是數據在內存中的表示形式。它包括多個DataTable對象,而DataTable包含列和行,就象一個普通的數據庫中的表。你甚至能夠定義表之間的關係來創建主從關係(parent-child relationships)。DataSet是在特定的場景下使用――幫助管理內存中的數據並支持對數據的斷開操作的。DataSet是被所有Data Providers使用的對象,因此它並不像Data Provider一樣需要特別的前綴。

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章