C#操作Access数据库
2013-12-29 13:26
375 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.OleDb; using System.Configuration; namespace DBHelper { class DBHelperAccess { #region 变量声明处 public OleDbConnection Conn; public string ConnString;//连接字符串 #endregion #region 构造函数与连接关闭数据库 public DBHelperAccess() { //ConnString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=";//03-07数据库用 //2010数据库以上版本 ConnString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\DBHelper\DBHelper\DB.accdb"; //获取程序当前路径 //string startpath = System.Windows.Forms.Application.StartupPath ; if (Conn == null) { Conn = new OleDbConnection(ConnString); } if (Conn.State != ConnectionState.Open) { Conn.Open(); } } /// <summary> /// 构造函数 /// </summary> /// <param name="DbName">ACCESS数据库名称</param> public DBHelperAccess(string DbName) { ConnString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="; ConnString += System.Windows.Forms.Application.StartupPath + "\\" + DbName; if (Conn == null) { Conn = new OleDbConnection(ConnString); } if (Conn.State != ConnectionState.Open) { Conn.Open(); } } /// </summary> /// 打开数据源链接 /// </summary> /// <returns></returns> public OleDbConnection DbConn() { Conn.Open(); return Conn; } /// </summary> /// 请在数据传递完毕后调用该函数,关闭数据链接。 /// </summary> public void Close() { Conn.Close(); } #endregion #region 数据库基本操作 /// <summary> /// 根据SQL命令返回数据DataTable数据表, /// 可直接作为dataGridView的数据源 /// </summary> /// <param name="SQL"></param> /// <returns></returns> public DataTable SelectToDataTable(string SQL) { OleDbDataAdapter adapter = new OleDbDataAdapter(); OleDbCommand command = new OleDbCommand(SQL, Conn); adapter.SelectCommand = command; DataTable Dt = new DataTable(); adapter.Fill(Dt); return Dt; } /// <summary> /// 根据SQL命令返回数据DataSet数据集 /// </summary> /// <param name="SQL"></param> /// <param name="subtableName">在返回的数据集中所添加的表的名称</param> /// <returns></returns> public DataSet SelectToDataSet(string SQL, string subtableName) { OleDbDataAdapter adapter = new OleDbDataAdapter(); OleDbCommand command = new OleDbCommand(SQL, Conn); adapter.SelectCommand = command; DataSet Ds = new DataSet(); Ds.Tables.Add(subtableName); adapter.Fill(Ds, subtableName); return Ds; } /// <summary> /// 在指定的数据集中添加带有指定名称的表,由于存在覆盖已有名称表的危险,返回操作之前的数据集。 /// </summary> /// <param name="SQL"></param> /// <param name="subtableName">添加的表名</param> /// <param name="DataSetName">被添加的数据集名</param> /// <returns></returns> public DataSet SelectToDataSet(string SQL, string subtableName, DataSet DataSetName) { OleDbDataAdapter adapter = new OleDbDataAdapter(); OleDbCommand command = new OleDbCommand(SQL, Conn); adapter.SelectCommand = command; DataTable Dt = new DataTable(); DataSet Ds = new DataSet(); Ds = DataSetName; adapter.Fill(DataSetName, subtableName); return Ds; } /// <summary> /// 根据SQL命令返回OleDbDataAdapter, /// 使用前请在主程序中添加命名空间System.Data.OleDb /// </summary> /// <param name="SQL"></param> /// <returns></returns> public OleDbDataAdapter SelectToOleDbDataAdapter(string SQL) { OleDbDataAdapter adapter = new OleDbDataAdapter(); OleDbCommand command = new OleDbCommand(SQL, Conn); adapter.SelectCommand = command; return adapter; } /// <summary> /// 执行SQL命令,不需要返回数据的修改,删除可以使用本函数 /// </summary> /// <param name="SQL"></param> /// <returns></returns> public bool ExecuteSQLNonquery(string SQL) { OleDbCommand cmd = new OleDbCommand(SQL, Conn); try { cmd.ExecuteNonQuery(); return true; } catch { return false; } } #endregion } }
调用示例:
DBHelperAccess db = new DBHelperAccess(); dataGridView1.DataSource = db.SelectToDataTable("select * from 用户"); db.Close();
相关文章推荐
- 获取带 in 的sql参数列表
- Oracle常用函数:IDCARD15TO18() 身份证15位转18位函数
- 连接数据库localhost和127.0.0.1的区别 数据库默认端口号
- mysql操作表提示#1017 - Can’t find file:'*.frm'(errno:13)的问题
- Oracle数据库中几个名字的区别和联系
- 一种通过jdbc获取数据库结构的方法
- mysql的性能配置 -innodb
- Oracle 11gR2单实例转换RAC-----ORA-25152
- "此操作要求连接到 'master' 数据库。无法创建与 'master' 数据库之间的连接,这是因为已打开原始数据库连接,并且已从连接字符串中删除凭据。请提供未打开的连接。"
- sql 学习技巧(看到不错,拿来学习)
- Redis复制
- MySQL数据库MyISAM和InnoDB存储引擎的比较
- oracle如何恢复误删数据
- 探讨Oracle分区表
- vb.net 操作Access数据库帮助类
- Java JDBC建立和Mysql、sql server 2005、sqlite和Oracle数据库的连接
- 远程连接oracle无监听器和12504service_name错误
- MySql命名与设计规范
- MySQL数据的导出和导入工具:mysqldump
- Oracle复合类型参数的存储过程以及JDBC调用