一個簡單的C#的ACCESS操作類

這幾天一直在忙着用C#+ACCESS寫一個winform應用程序,用到從ACCESS數據庫查詢,並且將數據返回到datagridview中。

由於沒有用.net開發的經驗,連接ACCESS數據庫花費了點精力,最後發現其實要綁定數據到datagridview中,只需把datagridview的datasource設爲從數據庫讀出的datatable就可以了,尋着這個思路,自己寫了一個ACCESS的操作類,用起來還蠻方便的,我在這個類中還添加了返回datatable的容器dataset的方法,支持新建或者添加到已有的dataset中,爲了避免覆蓋原dataset中的同名表,操作返回初始dataset,有一個重載。另外還有一個方法執行無返回的數據庫操作,一般可以用於刪除。

所有操作直接用SQL語言即可。如果是其他數據庫比如Oracle,操作就非常類似,區別主要在構造函數的默認連接字符串上。SQL server的話可能就要有些改動,因爲首先using的命名空間不一樣,但是操作都是類似的,因爲connection,adapter等的父類都是一樣的,最後都可以用來跟DataSet或者DataTable溝通。

PS BingdingSource也是個數據庫操作過程中非常有用的類,本文中就不多講了。

假設存在一個ACCESS數據庫路徑爲“c:/db.mdb”,裏面有一個表名叫student,並且已經有一個表格控件datagridview1,該類的使用例子如下:

...
using AccessDb;
...
            
//初始化,載入數據庫路徑
            AccessDbClass mydb = new AccessDbClass("c:/db.mdb");

            
//返回符合SQL要求的DataTable,並且與控件dataGridView1綁定
            DataTable dt = new DataTable();
            dt 
= mydb.SelectToDataTable(@"select * from student");
            
this.dataGridView1.DataSource = dt;

            
//返回DataSet,其中包括一個符合SQL要求和給定名稱的DataTable,並且與控件dataGridView1綁定
            DataSet ds = new DataSet();
            ds 
= mydb.SelectToDataSet(@"select * from student","student");
            
this.dataGridView1.DataSource = ds.Tables["student"]; 
    
            
//關閉數據庫
            mydb.Close();

因爲用法類似,就不再多給例子,使用也確實非常簡單。

如果有多個表的話,建議讀到一個DataSet中,方便使用和管理。

廢話不多說,下面是操作類的代碼

vs2005中編譯通過,.net 2.0

using System;
using System.Data;
using System.Data.OleDb;

namespace AccessDb
{
    
/// <summary>
    
/// AccessDb 的摘要說明,以下信息請完整保留
    
/// 請在數據傳遞完畢後調用Close()方法,關閉數據鏈接。
    
/// </summary>

    public class AccessDbClass
    
{

        
變量聲明處


        
構造函數與連接關閉數據庫


        
數據庫基本操作
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章