c#.net连接access操作类(转)
c#.net連接access操作類
1、配置web.config文件:配置數據庫連接參數
<configuration>
<appSettings/>
<connectionStrings>
? <add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\TeacherSystem\App_Data\db.mdb;Jet OLEDB:Database Password=123"
?? providerName="System.Data.OleDb" />
</connectionStrings>
2
程序設計開始:
1、按要求建立Access數據庫及數據表
2、編寫數據庫訪問、操作的公用類,此類可以復用到以后開發的任何系統中
(1)、新建一個C# 類庫項目, 命名為“Com.LXJ”,設置項目屬性:程序集名稱、默認命名空間均為“Com.LXJ”
(2)、在此項目目錄下創建目錄Database,新建C# 類文件ConnDbForAccess.cs 在Database目錄下。
????????????? 添加引用:System.Web.dll
(3)、編寫ConnDbForAccess.cs 的代碼
? using System;
using System.Data;
using System.Data.OleDb;
using System.Web;
using System.Web.UI;
using System.Configuration;
namespace Com.LXJ.Database
{
??? /// <summary>
??? /// conn 的摘要說明。
??? /// </summary>
??? public class ConnDbForAcccess
??? {
??????? /// <summary>
??????? /// 連接數據庫字符串
??????? /// </summary>
??????? private string connectionString;
??????? /// <summary>
??????? /// 存儲數據庫連接(保護類,只有由它派生的類才能訪問)
??????? /// </summary>
??????? protected OleDbConnection Connection;
??????? /// <summary>
??????? /// 構造函數:數據庫的默認連接
??????? /// </summary>
??????? public ConnDbForAcccess()
??????? {
??????????? string connStr;
??????????? connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString();
?????????? // connStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString(); //從web.config配置中讀取
??????????? connectionString = connStr;
??????????? //connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Request.PhysicalApplicationPath + connStr;
?????????? // connectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString();
??????????? //
??????????? Connection = new OleDbConnection(connectionString);
??????? }
??????? /// <summary>
??????? /// 構造函數:帶有參數的數據庫連接
??????? /// </summary>
??????? /// <param name="newConnectionString"></param>
??????? public ConnDbForAcccess(string newConnectionString)
??????? {
??????????? //connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Request.PhysicalApplicationPath + newConnectionString;
??????????? connectionString = newConnectionString;
??????????? Connection = new OleDbConnection(connectionString);
??????? }
??????? /// <summary>
??????? /// 獲得連接字符串
??????? /// </summary>
??????? public string ConnectionString
??????? {
??????????? get
??????????? {
??????????????? return connectionString;
??????????? }
??????? }
??????? /// <summary>
??????? /// 執行SQL語句沒有返回結果,如:執行刪除、更新、插入等操作
??????? /// </summary>
??????? /// <param name="strSQL"></param>
??????? /// <returns>操作成功標志</returns>
??????? public bool ExeSQL(string strSQL)
??????? {
??????????? bool resultState = false;
??????????? Connection.Open();
??????????? OleDbTransaction myTrans = Connection.BeginTransaction();
??????????? OleDbCommand command = new OleDbCommand(strSQL, Connection, myTrans);
??????????? try
??????????? {
??????????????? command.ExecuteNonQuery();
??????????????? myTrans.Commit();
??????????????? resultState = true;
??????????? }
??????????? catch
??????????? {
??????????????? myTrans.Rollback();
??????????????? resultState = false;
??????????? }
??????????? finally
??????????? {
??????????????? Connection.Close();
??????????? }
??????????? return resultState;
??????? }
??????? /// <summary>
??????? /// 執行SQL語句返回結果到DataReader中
??????? /// </summary>
??????? /// <param name="strSQL"></param>
??????? /// <returns>dataReader</returns>
??????? private OleDbDataReader ReturnDataReader(string strSQL)
??????? {
??????????? Connection.Open();
??????????? OleDbCommand command = new OleDbCommand(strSQL, Connection);
??????????? OleDbDataReader dataReader = command.ExecuteReader();
??????????? Connection.Close();
??????????? return dataReader;
??????? }
??????? /// <summary>
??????? /// 執行SQL語句返回結果到DataSet中
??????? /// </summary>
??????? /// <param name="strSQL"></param>
??????? /// <returns>DataSet</returns>
??????? public DataSet ReturnDataSet(string strSQL)
??????? {
??????????? Connection.Open();
??????????? DataSet dataSet = new DataSet();
??????????? OleDbDataAdapter OleDbDA = new OleDbDataAdapter(strSQL, Connection);
??????????? OleDbDA.Fill(dataSet, "objDataSet");
??????????? Connection.Close();
??????????? return dataSet;
??????? }
??????? /// <summary>
??????? /// 執行一查詢語句,同時返回查詢結果數目
??????? /// </summary>
??????? /// <param name="strSQL"></param>
??????? /// <returns>sqlResultCount</returns>
??????? public int ReturnSqlResultCount(string strSQL)
??????? {
??????????? int sqlResultCount = 0;
??????????? try
??????????? {
??????????????? Connection.Open();
??????????????? OleDbCommand command = new OleDbCommand(strSQL, Connection);
??????????????? OleDbDataReader dataReader = command.ExecuteReader();
??????????????? while (dataReader.Read())
??????????????? {
??????????????????? sqlResultCount++;
??????????????? }
??????????????? dataReader.Close();
??????????? }
??????????? catch
??????????? {
??????????????? sqlResultCount = 0;
??????????? }
??????????? finally
??????????? {
??????????????? Connection.Close();
??????????? }
??????????? return sqlResultCount;
??????? }
??? }//
}//
好了,數據庫訪問、數據庫操作的公用類完成了,詳細代碼意義大家自己看吧,這些屬于C# 語法知識了,現在可以編譯生成項目了,編譯完后把項目的dll文件Com.LXJ.dll拷貝到Example項目下的bin目錄中,然后在項目 Example中引入Com.LXJ.dll即可。稍后介紹如何使用它,休息一下,喝口水,呵呵.....
轉載于:https://www.cnblogs.com/HappyQQ/archive/2008/08/15/1269016.html
總結
以上是生活随笔為你收集整理的c#.net连接access操作类(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.net:Regex.Match
- 下一篇: 获取GridView隐藏列值