国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談基于ASP.NET平臺(tái)下使用類庫(kù)進(jìn)行數(shù)據(jù)庫(kù)編程

2009-04-21 03:09:10容湘萍
關(guān)鍵詞:基類類庫(kù)調(diào)用

摘要:文章立足于實(shí)際應(yīng)用,闡述了ADO.NET訪問(wèn)數(shù)據(jù)庫(kù)的步驟,并利用較大篇幅對(duì)ASP.NET平臺(tái)下使用類庫(kù)進(jìn)行數(shù)據(jù)庫(kù)操作的方法進(jìn)行了詳細(xì)論述,并給出源代碼和詳細(xì)注釋,文章給出的所有代碼均在ASP.NET2.0下調(diào)試通過(guò)。

關(guān)鍵字:數(shù)據(jù)庫(kù);類庫(kù);調(diào)用

中圖分類號(hào):TP31文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1674-1145(2009)05-0153-02

ASP.NET不是ASP的簡(jiǎn)單升級(jí),而是全新一代的動(dòng)態(tài)網(wǎng)頁(yè)實(shí)現(xiàn)系統(tǒng)。它是一種建立在通用語(yǔ)言上的程序構(gòu)架,能被用于一臺(tái)Web服務(wù)器來(lái)建立強(qiáng)大的Web應(yīng)用程序。它是微軟發(fā)展的新體系結(jié)構(gòu).NET的一部分,是ASP和.NET技術(shù)的結(jié)合。ASP.NET在面向?qū)ο笮?、?shù)據(jù)庫(kù)連接、大型站點(diǎn)應(yīng)用等方面都優(yōu)于ASP,ASP.NET還提供更多的其他方面的新特性,例如:內(nèi)置的對(duì)象緩存和頁(yè)面結(jié)果緩存;內(nèi)置的XML支持,可用于XML數(shù)據(jù)集的簡(jiǎn)單處理;服務(wù)器控制提供了更充分的交互式制等。

ASP.NET中的ADO.NET和ASP中的ADO相對(duì)應(yīng),它是ADO的改進(jìn)版本。ADO.NET的最重要概念之一是DataSet。DataSet是不依賴于數(shù)據(jù)庫(kù)的獨(dú)立數(shù)據(jù)集合。(所謂獨(dú)立,就是:即使斷開(kāi)數(shù)據(jù)鏈路,或者關(guān)閉數(shù)據(jù)庫(kù),DataSet依然是可用的。)如果你在ASP里面使用過(guò)非連接記錄集合(Connectionless Recordset),那么DataSet就是這種技術(shù)的最徹底的替代品。在ADO.NET中,通過(guò)Managed Provider所提供的應(yīng)用程序編程接口(API),可以輕松地訪問(wèn)各種數(shù)據(jù)源的數(shù)據(jù),包括OLEDB所支持的和ODBC支持的數(shù)據(jù)庫(kù)。

ADO.NET訪問(wèn)數(shù)據(jù)庫(kù)的步驟是:

1.創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)鏈路;

2.請(qǐng)求一個(gè)記錄集合;

3.把記錄集合暫存到DataSet;

4.如果需要,返回第2步;(DataSet可以容納多個(gè)數(shù)據(jù)集合)

5.關(guān)閉數(shù)據(jù)庫(kù)鏈路;

6.在DataSet上作所需要的操作。

DataSet在內(nèi)部是用XML來(lái)描述數(shù)據(jù)的。由于XML是一種平臺(tái)無(wú)關(guān)、語(yǔ)言無(wú)關(guān)的數(shù)據(jù)描述語(yǔ)言,而且可以描述復(fù)雜數(shù)據(jù)關(guān)系的數(shù)據(jù),比如父子關(guān)系的數(shù)據(jù),所以DataSet實(shí)際上可以容納具有復(fù)雜關(guān)系的數(shù)據(jù),而且不再依賴于數(shù)據(jù)庫(kù)鏈路。

按照上面的訪問(wèn)數(shù)據(jù)庫(kù)的步驟方法,在需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作時(shí),只需按部就班的寫(xiě)出相關(guān)代碼和參數(shù)就能比較容易的實(shí)現(xiàn)ADO.NET編程。但在進(jìn)行大型軟件開(kāi)發(fā)時(shí),如果每訪問(wèn)一次數(shù)據(jù)庫(kù),就對(duì)操作數(shù)據(jù)庫(kù)的代碼進(jìn)行重復(fù)編寫(xiě),則大大增加了程序代碼的冗余度,降低了軟件的可靠性和可讀性。所以本文使用類庫(kù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),將對(duì)數(shù)據(jù)庫(kù)的操作代碼進(jìn)行簡(jiǎn)化。按照訪問(wèn)數(shù)據(jù)庫(kù)的步驟,將相應(yīng)的代碼寫(xiě)入類中,在使用時(shí)直接調(diào)用相關(guān)的類,就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)操作。

具體步驟如下:

首先創(chuàng)建一個(gè)類庫(kù)DAL,在其中定義數(shù)據(jù)庫(kù)的基類database:

public class database//數(shù)據(jù)庫(kù)基類

{

public SqlConnection databaselink() //連接數(shù)據(jù)庫(kù)

{

SqlConnection conn=new SqlConnection ();

conn.ConnectionString =ConfigurationSettings.AppSettings .Get ("connstr");

//通過(guò)web.config文件獲取connstr作為conn連接字符串。

return conn;

}

public DataSet tablelink(string linkstr,SqlConnection conn)

//連接表,linkstr為連接字符串

{

SqlDataAdapter sda=new SqlDataAdapter(linkstr,conn);

DataSet ds= new DataSet();

try

{

sda.Fill (ds);

}

catch

{

Response.Write("");

}

return ds;

}

}

再創(chuàng)建另一個(gè)類庫(kù)BUL,在其中定義操作數(shù)據(jù)庫(kù)的類operatdatabase:

using dal;//調(diào)用數(shù)據(jù)庫(kù)基類的命名空間

public class operatdatabase//操作數(shù)據(jù)庫(kù)的類

{

public DataSet selecttable(string linkstr) //查詢表,

{

database db=new database ();

SqlConnection conn=db.databaselink();

DataSet ds=new DataSet();

ds=db.tablelink(linkstr,conn);

return ds;

}

public void updatatable(string linkstr) //更新記錄

{

database db=new database ();

SqlConnection conn=db.databaselink();

DataSet ds=new DataSet();

ds=db.tablelink(linkstr,conn);

}

public void datalist(DataGrid DataGrid1,string linkstr) //綁定數(shù)據(jù)

{

operatdatabase db=new operatdatabase() ;

DataSet ds=new DataSet();

ds=db.selecttable (linkstr);

DataGrid1.DataSource =ds.Tables[0] ;

DataGrid1 .DataBind ();

}

}

在需要進(jìn)行數(shù)據(jù)庫(kù)操作時(shí),首先要調(diào)用操作數(shù)據(jù)庫(kù)的類operatdatabase的命名空間BUL,然后再調(diào)用查詢、更新和綁定數(shù)據(jù)庫(kù)的相關(guān)函數(shù)。

using bul;

operatdatabaseop1=new operatdatabase() ;

//定義一個(gè)操作數(shù)據(jù)庫(kù)的對(duì)象op1

op1.selecttable(string linkstr);

op1.updatatable(string linkstr);

op1.datalist(DataGrid DataGrid1,string linkstr);

//使用該對(duì)象的實(shí)例對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作

在一般的信息管理系統(tǒng)程序中,如果使用類庫(kù)進(jìn)行數(shù)據(jù)庫(kù)編程,則只需在數(shù)據(jù)庫(kù)操作時(shí)反復(fù)調(diào)用操作數(shù)據(jù)庫(kù)的類operatdatabase,定義一個(gè)關(guān)于該類的對(duì)象,使用相應(yīng)的方法,就能減少相當(dāng)多的重復(fù)代碼,增加了程序的健壯性,大大提高了程序的可讀性與移植性。

參考文獻(xiàn)

[1]李萬(wàn)寶.ASP.NET技術(shù)詳解與應(yīng)用實(shí)例[M].機(jī)械工業(yè)出版社.

[2]鄭霞,趙輝,徐慧.ASP.NET2.0編程技術(shù)與實(shí)例[M].人民郵電出版社.

作者簡(jiǎn)介:容湘萍,女,湖南邵東人,廣東省惠州商業(yè)學(xué)校計(jì)算機(jī)助理講師,研究方向:計(jì)算機(jī)應(yīng)用。

猜你喜歡
基類類庫(kù)調(diào)用
基于C#面向?qū)ο蟪绦蛟O(shè)計(jì)的封裝、繼承和多態(tài)分析
用Java編寫(xiě)客戶機(jī)/服務(wù)器端應(yīng)用程序
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
Python在數(shù)據(jù)可視化中的應(yīng)用
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革方案和應(yīng)用效果
軟件工程(2017年12期)2018-01-29 17:35:55
數(shù)據(jù)結(jié)構(gòu)可視化類庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)
基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
空戰(zhàn)游戲設(shè)計(jì)實(shí)例
一種基于用戶興趣的STC改進(jìn)算法
珲春市| 交城县| 佛教| 磐石市| 娄烦县| 荥阳市| 克拉玛依市| 景谷| 博白县| 中超| 濉溪县| 邵阳市| 两当县| 馆陶县| 盘锦市| 武城县| 成都市| 屏山县| 张家界市| 宜春市| 怀远县| 平山县| 曲麻莱县| 晋州市| 榕江县| 南漳县| 襄垣县| 孟村| 佛山市| 晋城| 闸北区| 微山县| 普兰县| 林西县| 崇阳县| 阳江市| 伊宁县| 凉城县| 馆陶县| 贡觉县| 陆丰市|