ado.net詳細研究(一)

最近閱讀了wrox的高效掌握 ADO.NET,有所感觸,希望與大家分享。第一次寫文章,不好請諒解。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

第一篇: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。這4command實例將提供DataSet與數據庫之間的操作。

4 DataReader
使用DataReader可以實現對數據源中的數據高速、只向前的訪問。同時DataReader是一個依賴連接的對象,這意味着你使用它的時候必須保持數據庫連接是打開的。

5 DataSet
相對複雜但是功能強大的類。後面具體介紹。

下面使用實例演示基本操作(我們使用sql server數據庫)。

using System;

using System.Data;

using System.Data.SqlClient;

 

namespace test101

{

     ///

     /// Class1 的摘要說明。

     ///

     class Class1

     {

         ///

         /// 應用程序的主入口點。

         ///

         [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類

發佈了11 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章