使ASP.NET中的數據庫操作變得簡單
2006/9/30 11:02:00
ASP.NET中一般都是使用SQL Server作為后臺數據庫。一般的ASP.NET數據庫操作示例程序都是使用單獨的數據訪問,就是說每個頁面都寫連接到數據庫,存取數據,關閉數據庫的代碼。這種方式帶來了一些弊端,一個就是如果你的數據庫改變了,你必須一個頁面一個頁面的去更改數據庫連接代碼。
第二個弊端就是代碼冗余,很多代碼都是重復的,不必要的。
因此,我試圖通過一種一致的數據庫操作類來實現ASP.NET種的數據訪問。

我們就拿一般網站上都會有的新聞發布系統來做例子,它需要一個文章數據庫,我們把這個數據庫命名為 News_Articles。新聞發布系統涉及到 發布新聞,展示文章,管理文章等。

一篇文章一般都會有標題,作者,發表時間,內容,另外我們需要把它們編號。我們把它寫成一個類,叫 Article 類,代碼如下:

//Article.cs
using System;

namespace News_Articles.Data
{
///
/// Summary description for Article.
///
public class Article
{
private int _id; //文章編號
private string _author; //文章的作者
private string _topic; //文章的標題
private DateTime _postTime; //文章的發表時間
private string _content; //文章內容

public int ID
{
get { return _id;}
set { _id = value;}
}
public string Author
{
get { return _author; }
set { _author = value; }
}
public string Topic
{
get { return _topic; }
set { _topic = value; }
}
public string Content
{
get { return _content; }
set { _content = value; }
}
public DateTime PostTime
{
get { return _postTime; }
set { _postTime = value; }
}
}
}


然后我們寫一個文章集合類 ArticleCollection
代碼如下


程序代碼

//ArticleCollection.cs
using System[color=#0000ff];
using System.Collections;

namespace News_Articles.Data
{
///
/// 文章的集合類,繼承于 ArrayList
///
public class ArticleCollection : ArrayList
{
public ArticleCollection() : base()
{
}

public ArticleCollection(ICollection c) : base(c)
{
}
}
}[/color]


這個類相當于一個ASP.NET中的DataSet(其實兩者很不一樣),很簡單,主要的目的是把將很多篇文章集合,以便在ASP.NET頁面中給DataGrid或者DataList作為數據源,以顯示文章。

現在我們可以實現對News_Articles數據庫的操作了,我說過,這是一個數據庫操作類。不妨命名為 ArticleDb。實現如下:

程序代碼

//ArticleDb.cs
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace News_Articles.Data
{
/**////
/// 數據庫操作類,實現文章數據庫的讀取,插入,更新,刪除
///
public class ArticleDb
{
private SqlConnection _conn; //SQL Server 數據庫連接
private string _articledb = "News_Articles"; //SQL Server 文章數據庫表

/**////
/// 類的初始化,設置數據庫連接
///
public ArticleDb()
{
_conn = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
}

/**////
/// 打開數據庫連接
///
public void Open()
{
if(_conn.State == ConnectionState.Closed)
_conn.Open();
}

/**////
/// 關閉數據庫連接
///
public void Close()
{
if(_conn.State == ConnectionState.Open)
_conn.Close();
}

/**////
/// 讀取數據庫中所有的 文章
///
/// ArticleCollection
public ArticleCollection GetArticles()
{
ArticleCollection articles = new ArticleCollection();
string sql

下一頁
返回列表
返回首頁 主站蜘蛛池模板: 啊啊啊好深视频| 国内精品伊人久久久久影院对白| 久久精品视频免费看| 欧美黑人性暴力猛交喷水| 卡一卡2卡3卡精品网站| 青青草在视线频久久| 国产真实乱子伦视频播放| 97久久精品人妻人人搡人人玩 | 日本久久久久亚洲中字幕| 亚洲人成人77777在线播放| 波多洁野衣一二区三区| 天堂网www在线资源| 中文字幕丰满乱孑伦无码专区| 明星造梦一区二区| 亚洲欧美中文日韩欧美| 狠狠色综合色区| 动漫毛片在线观看| 色婷婷综合久久久久中文字幕| 国产成人免费高清激情明星| 18videosex日本vesvvnn| 在线播放国产视频| jizz老师喷水| 思思99re66在线精品免费观看| 久久91精品国产91久久麻豆 | 四虎澳门永久8848在线影院| 韩国免费高清一级毛片性色| 国产成人精品福利色多多| 中国大白屁股ass| 国产自产在线视频一区| 99国产精品免费视频观看| 好男人www视频| 中文字幕亚洲区| 日本一区高清视频| 久久伊人色综合| 日韩欧美成人免费中文字幕| 亚洲AV网址在线观看| 欧美人与动人物牲交免费观看| 亚洲成年人影院| 欧美特黄高清免费观看的| 亚洲精品国产高清嫩草影院| 特黄特色大片免费播放器999|