C#的Access数据库的连接类

本文提供了一个使用C#进行Access数据库操作的连接类实例,包括连接数据库、执行SQL语句、获取数据集等功能,并附带异常处理机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个C#的Access数据库的连接类:

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MyGz530AccessHelp { using System.Data; using System.Data.OleDb; public class Gz530AccessHelp { // 连接数据源 private OleDbConnection conn = null; /// <summary> /// 数据源 /// </summary> /// <param name="conStr">数据源连接字符串</param> public OleDbConnection DataBase(string conStr) { conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ conStr +";Jet OLEDB:System Database=system.mdw;"); this.Open(); return conn; } /// <summary> /// 根据SQL查询返回DataSet对象,如果没有查询到则返回NULL /// </summary> /// <param name="sql">查询语句</param> /// <returns>DataSet</returns> public DataSet GetDataSet(string sql) { DataSet ds = new DataSet(); try { OleDbCommand cmd = new OleDbCommand(sql, conn); cmd.CommandTimeout = 20; System.Data.OleDb.OleDbDataAdapter adapter = new OleDbDataAdapter(cmd); adapter.Fill(ds, "tempTable"); } catch (Exception e) { ds = null; } return ds; } /// <summary> /// 根据SQL查询返回DataSet对象,如果没有查询到则返回NULL /// </summary> /// <param name="sql">查询语句</param> /// <param name="sRecord">开始记录数</param> /// <param name="mRecord">最大记录数</param> /// <returns>DataSet</returns> public DataSet GetDataSet(string sql, int sRecord, int mRecord) { DataSet ds = new DataSet(); try { OleDbCommand cmd = new OleDbCommand(sql, conn); cmd.CommandTimeout = 20; System.Data.OleDb.OleDbDataAdapter adapter = new OleDbDataAdapter(cmd); adapter.Fill(ds, sRecord, mRecord, "tempTable"); } catch (Exception e) { ds = null; } return ds; } /// <summary> /// 对数据库的增,删,改的操作 /// </summary> /// <param name="sql">SQL语句</param> /// <returns>是否成功</returns> public bool ExecuteDataBase(string sql) { bool succeed = false; int cnt = 0; try { OleDbCommand cmd = new OleDbCommand(sql, conn); cmd.CommandTimeout = 20; if (this.Open()) cnt = cmd.ExecuteNonQuery(); } catch (Exception e) { e.ToString(); } finally { if (cnt > 0) { succeed = true; } } return succeed; } /// <summary> /// 获得该SQL查询返回的第一行第一列的值,如果没有查询到则返回NULL /// </summary> /// <param name="sql">查询语句</param> /// <returns>返回的第一行第一列的值</returns> public string GetScalar(string sql) { string str = null; try { OleDbCommand cmd = new OleDbCommand(sql, conn); if (this.Open()) str = cmd.ExecuteScalar().ToString(); } catch (Exception e) { e.ToString(); } return str; } /// <summary> /// 获得该SQL查询返回DataTable,如果没有查询到则返回NULL /// </summary> /// <param name="sql">查询语句</param> /// <returns></returns> public DataTable GetDataTable(string sql) { DataTable tb = null; DataSet ds = this.GetDataSet(sql); if (ds != null) { tb = ds.Tables["tempTable"]; } return tb; } /// <summary> /// 打开数据库连接. /// </summary> private bool Open() { bool succeed = false; try { if (conn.State == System.Data.ConnectionState.Closed) { conn.Open(); succeed = true; } else if (conn.State == System.Data.ConnectionState.Broken) { conn.Close(); conn.Open(); succeed = true; } else if (conn.State == System.Data.ConnectionState.Open) { succeed = true; } } catch (Exception e) { e.ToString(); } return succeed; } /// <summary> /// 关闭数据库连接 /// </summary> public void Close() { if (conn != null) { conn.Close(); } } /// <summary> /// 释放数据库连接资源 /// </summary> public void Dispose() { if (conn != null) { conn.Dispose(); conn = null; } } } }

和同僚分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值