最近閱讀了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。這4個command實例將提供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類