国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

[ASP.net(C#)]自定義數(shù)據(jù)庫操作類(一)

2024-07-10 12:57:09
字體:
供稿:網(wǎng)友
這兩天寫了個類。針對sql server和ole數(shù)據(jù)庫所寫的。源碼如下:

/classes/dbcontrol.cs
==========================================================

using system;
using system.data;
using system.data.sqlclient;
using system.data.oledb;

namespace guestbook
{
/// <summary>
/// dbcontrol 的摘要描述。
/// </summary>
public class dbcontrol:classes.databasetype.dbopen
{
//類成員定義。
private int record_total = 0;
protected string dbtype,sql_select;
protected sqlconnection sqlconn;
protected oledbconnection oleconn;
protected sqlcommand sqlcmd;
protected oledbcommand olecmd;
protected dataset ds = new dataset();

public int recordtotal
{
get
{
switch (dbtype)
{
case "sql":
sqlcmd.cancel();
sqlcmd.commandtext = sql_select;
sqldatareader sqldr;
sqldr = sqlcmd.executereader();
while (sqldr.read())
{
record_total++;
}
sqldr.close();
break;
case "ole":
olecmd.cancel();
olecmd.commandtext = sql_select;
oledbdatareader oledr;
oledr = olecmd.executereader();
while (oledr.read())
{
record_total++;
}
oledr.close();
break;
}
return record_total;
}
}

public dbcontrol(string dbtype,string dbname)
{
//重載構(gòu)造函數(shù)。
dbtype = dbtype.toupper();
switch (dbtype.toupper())
{
case "sql":
sqlconn = this.sqlconnect(dbname);
oleconn.close();
oleconn.dispose();
break;
case "ole":
oleconn = this.oleconnect(dbname);
oleconn.close();
oleconn.dispose();
break;
}
}

public dbcontrol():base()
{
//
// todo: 在這裡加入建構(gòu)函式的程式碼
//
}

public void open(string dbtype,string dbname)
{
//數(shù)據(jù)庫文件打開。
dbtype = dbtype.toupper();
switch (dbtype.toupper())
{
case "sql":
sqlconn = this.sqlconnect(dbname);
break;
case "ole":
oleconn = this.oleconnect(dbname);
break;
}
}

public sqldatareader sqlgetreader(string strquery)
{
//返回一個sqldatareader。用於sql server
sql_select = strquery;
sqlcmd = new sqlcommand(strquery,sqlconn);
sqldatareader dr;
try
{
sqlcmd.connection.open();
}
catch (exception e)
{
throw e;
}
dr = sqlcmd.executereader();
return dr;
}

public oledbdatareader olegetreader(string strquery)
{
//返回一個oledbdatareader。用於oledb
sql_select = strquery;
olecmd = new oledbcommand(strquery,oleconn);
oledbdatareader dr;
try
{
olecmd.connection.open();
}
catch (exception e)
{
throw e;
}
dr = olecmd.executereader();
return dr;
}

public int sqlruncommand(string strquery)
{
//執(zhí)行一條sql語句。包括記錄插入、更新、刪除。用於sql server
sql_select = strquery;
sqlcmd = new sqlcommand(strquery,sqlconn);
try
{
sqlcmd.connection.open();
}
catch (exception e)
{
throw e;
}
return sqlcmd.executenonquery();
}

public int oleruncommand(string strquery)
{
//執(zhí)行一條sql語句。包括記錄插入、更新、刪除。用於oledb
sql_select = strquery;
olecmd = new oledbcommand(strquery,oleconn);
try
{
olecmd.connection.open();
}
catch (exception e)
{
throw e;
}
return olecmd.executenonquery();
}

public dataview sqlgetdataset(string strquery)
{
//返回一個dataset。用於sql server
sql_select = strquery;
sqlcmd = new sqlcommand(strquery,sqlconn);
try
{
sqlcmd.connection.open();
}
catch (exception e)
{
throw e;
}
sqldataadapter da = new sqldataadapter();
da.selectcommand = sqlcmd;
da.fill(ds,"defaulttable");
return ds.tables["defaulttable"].defaultview;
}

public dataview olegetdataset(string strquery)
{
//返回一個dataset。用於oledb
sql_select = strquery;
olecmd = new oledbcommand(strquery,oleconn);
try
{
olecmd.connection.open();
}
catch (exception e)
{
throw e;
}
oledbdataadapter da = new oledbdataadapter();
da.selectcommand = olecmd;
da.fill(ds,"defaulttable");
return ds.tables["defaulttable"].defaultview;
}

public void close()
{
//數(shù)據(jù)庫關(guān)閉。
switch (dbtype)
{
case "sql":
sqlcmd.cancel();
sqlcmd.dispose();
sqlconn.close();
sqlconn.dispose();
break;
case "ole":
olecmd.cancel();
olecmd.dispose();
oleconn.close();
oleconn.dispose();
break;
}
ds.clear();
ds.dispose();
}
}
}

============================================================

/classes/databasetype/dbopen.cs
============================================================

using system;
using system.data.sqlclient;
using system.data.oledb;
using system.configuration;

namespace guestbook.classes.databasetype
{
/// <summary>
/// dbopen 的摘要描述。
/// </summary>
public class dbopen
{
public dbopen()
{
//
// todo: 在這裡加入建構(gòu)函式的程式碼
//
}

protected sqlconnection sqlconnect(string dbname)
{
sqlconnection conn = new sqlconnection(configurationsettings.appsettings[dbname]);
return conn;
}

protected oledbconnection oleconnect(string dbname)
{
oledbconnection conn = new oledbconnection(configurationsettings.appsettings[dbname]);
return conn;
}
}
}

==============================================================

類的調(diào)用方法:
==============================================================

dbcontrol objdbcontrol = new dbcontrol();
string sql = "select * from content";

objdbcontrol.open("sql","sqlconnection");
dglist.datasource = objdbcontrol.sqlgetdataset(sql);
inttotal = objdbcontrol.recordtotal;
dglist.databind();
objdbcontrol.close();

==============================================================
其中“inttotal = objdbcontrol.recordtotal;”即返回記錄總數(shù)。
可以把它插入到datagrid中。如:
==============================================================

private void dglist_itemcreated(object sender, system.web.ui.webcontrols.datagriditemeventargs e)
{
if (e.item.itemtype == listitemtype.pager)
{
system.text.stringbuilder pagerstring = new system.text.stringbuilder();
pagerstring.append("總計" + inttotal.tostring() + " 共" + dglist.pagecount + "頁 每頁" + dglist.pagesize + "筆");
e.item.cells[0].controls.addat(0,new literalcontrol(pagerstring.tostring())) ;
}
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 高碑店市| 竹山县| 徐闻县| 四会市| 九龙坡区| 新蔡县| 定陶县| 故城县| 康马县| 团风县| 南华县| 德清县| 贵州省| 武城县| 金堂县| 松溪县| 金昌市| 阳西县| 开远市| 谢通门县| 蕲春县| 枣强县| 共和县| 淄博市| 黄冈市| 太原市| 栖霞市| 天等县| 北川| 阳新县| 凤山县| 红原县| 育儿| 武乡县| 棋牌| 聂荣县| 永兴县| 洪洞县| 盐池县| 全南县| 洛南县|