一.ADO.NET基礎(chǔ)
程序和數(shù)據(jù)庫(kù)交互,要通過(guò)ADO.NET進(jìn)行;通過(guò)ADO.NET就能在數(shù)據(jù)庫(kù)中執(zhí)行SQL了。ADO.NET中提供了對(duì)不同數(shù)據(jù)庫(kù)的統(tǒng)一操作接口(ODBC)。另外還有一種操作數(shù)據(jù)庫(kù)的接口是JDBC。
ADO.NET中通過(guò)SqlConnection類創(chuàng)建到SQL Server的鏈接,Sqlconnection代表一個(gè)數(shù)據(jù)庫(kù)的鏈接,ADO.NET中的鏈接等資源都實(shí)現(xiàn)了IDisposable接口。
實(shí)現(xiàn)了IDisposable接口的對(duì)象,在使用完了,要進(jìn)行資源的釋放。調(diào)用Dispose()方法。
連接方式訪問(wèn)數(shù)據(jù)庫(kù),連接要打開(kāi),使用完要關(guān)閉。關(guān)閉之后,還可以再打開(kāi),這就是Close和Dispose的區(qū)別。Dispose(),是完全釋放資源。
現(xiàn)在來(lái)測(cè)試一下,連接數(shù)據(jù)庫(kù)是否成功了。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//使用ADO.NET技術(shù),必須要導(dǎo)入這兩個(gè)命名空間
using System.Data;
using System.Data.SqlClient;
//
namespace ADO.NET1
{
class Program
{
static void Main(string[] args)
{
//創(chuàng)建數(shù)據(jù)庫(kù)連接(連接字符串)
string sqlCon = "server=.;database=DB_MyStudentLife;uid=sa;pwd=Password_1";
SqlConnection scon = new SqlConnection(sqlCon);
//打開(kāi)數(shù)據(jù)庫(kù)連接
scon.Open();
//測(cè)試,判斷數(shù)據(jù)庫(kù)的連接狀態(tài)
if (scon.State == ConnectionState.Closed)
{
Console.WriteLine("連接數(shù)據(jù)庫(kù)失敗");
}
if (scon.State == ConnectionState.Open)
{
Console.WriteLine("成功打開(kāi)連接數(shù)據(jù)庫(kù),連接成功");
}
Console.ReadKey();
}
}
}

測(cè)試效果圖:

最后我們來(lái)看看SqlConnection對(duì)象的內(nèi)部原理吧:使用反編譯工具reflector就可以;
1.從圖中,我們看出來(lái),SqlConnection繼承了DbConnection類,實(shí)現(xiàn)了ICloneable接口

2.ICloneable接口里面是啥樣子呢,我們來(lái)看一下,反編譯:

3.接下來(lái),我們看下Dbconnection類:
從圖中可以看出,Dbconnection類是一個(gè)抽象類,繼承了Component類,實(shí)現(xiàn)了IDbConnection接口,和IDisposable接口,下面我們分別來(lái)看看這幾個(gè)

4.Component類:
看得出來(lái)這個(gè)類,也實(shí)現(xiàn)了IDisposable接口哦,

好了,其他還是來(lái)看看IDisposable接口內(nèi)部的神秘面紗吧:

看得出來(lái),IDisosable定義了一個(gè)Dispose(),抽象無(wú)返回值的方法。
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
您可能感興趣的文章:- ADO.NET EF中的實(shí)體修改方法
- ADO.NET 連接數(shù)據(jù)庫(kù)字符串小結(jié)(Oracle、SqlServer、Access、ODBC)
- ADO.NET實(shí)體數(shù)據(jù)模型詳細(xì)介紹
- ADO.NET中的五個(gè)主要對(duì)象的詳細(xì)介紹與應(yīng)用
- ADO.Net 類型化DataSet的簡(jiǎn)單介紹
- ADO.NET之連接池技術(shù)的使用詳解
- ASP.NET中實(shí)現(xiàn)把Json數(shù)據(jù)轉(zhuǎn)換為ADO.NET DataSet對(duì)象
- ADO.NET基礎(chǔ)知識(shí)匯總