如何進(jìn)行訪問ADO.NET數(shù)據(jù)詳細(xì)說明
當(dāng)我們對(duì)數(shù)據(jù)庫(kù)進(jìn)行插入、刪除、更新和讀取數(shù)據(jù)時(shí),我們經(jīng)常需要寫很多相同或相似的代碼,這些代碼看起來很臃腫。這樣寫代碼不僅很浪費(fèi)時(shí)間,而且程序看起來結(jié)構(gòu)很不清晰,雜亂無章。System.Data.SqlClient里提供了很多數(shù)據(jù)庫(kù)操作的類。
訪問ADO.NET中的數(shù)據(jù)源是由托管提供程序所控制. 雖然托管提供程序與OLE DB有兩處重大的不同,但是二者是極為類似的.首先, 訪問ADO.NET托管提供程序在.NET環(huán)境下運(yùn)行,通過 DataReader 和DataTable .NET類來檢索和展示數(shù)據(jù).第二,它們的體系結(jié)構(gòu)都比較簡(jiǎn)單,是因?yàn)闉榱诉m應(yīng).NET而進(jìn)行了優(yōu)化.
此時(shí),ADO.NET分成兩種不同類型的托管提供程序:一種用于SQL Server? 7.0 或更高版本,另一種適用于所有你可能已經(jīng)安裝訪問ADO.NET的OLE DB 提供程序.雖然運(yùn)用在兩種托管提供程序中的類是不同的,但它們卻都遵循相類似的命名方式.除開前綴之外,其它名稱都是相同的.前一種情況前綴為SQL, 后一種則是ADO。#t#
你需要利用SQL類來訪問SQL Server 表,因?yàn)镾QL類會(huì)跳過由OLE DB 提供程序呈現(xiàn)的中間層, 而直接進(jìn)入數(shù)據(jù)庫(kù)服務(wù)器內(nèi)部API. ADO類是位于OLE DB 提供程序頂端的.NET接口,利用COM Interop 橋來進(jìn)行工作。
因此我們可以使用已經(jīng)提供的類,寫一個(gè)自己的類, 訪問ADO.NET在自己寫的類里面可以寫一些函數(shù),這些函數(shù)是在程序中經(jīng)常使用的代碼,函數(shù)可以帶不同的參數(shù)列表。以下就是我自己寫一個(gè)簡(jiǎn)單的類。它的幾個(gè)函數(shù)我們可以在程序中大量可見的
- using System.Data.SqlClient;
- class DataLev
- {
- private SqlCommand myCmd;
- private SqlConnection sqlConn;
- private SqlDataAdapter myAdp;
- public SqlConnection getConn()
- {
- //返回?cái)?shù)據(jù)庫(kù)連接字符串
- string constr = @"Data Source = localhost;
- Initial Catalog = CustomersManage;
- Integrated Security= true";
- sqlConn = new SqlConnection(constr);
- return sqlConn;
- }
- public void ExcuteCmd(string sqlCmd)
- {
- //執(zhí)行一般的SQL語(yǔ)句(select,insert,delete,update)
- sqlConn = this.getConn();
- sqlConn.Open();
- myCmd = new SqlCommand(sqlCmd, sqlConn);
- myCmd.ExecuteNonQuery();//返回受影響的行
- myCmd.Dispose();
- sqlConn.Close();
- }