本文实例讲述了C#数据库操作类AccessHelper。分享给大家供大家参考。
具体实现方法如下:
using System; using System.Data; using System.Configuration; using System.Data.OleDb; using ahwildlife.Utils;/// <summary> /// AccessHelper 的摘要说明 /// </summary> public class AccessHelper { #region 变量 protected static OleDbConnection conn = new OleDbConnection(); protected static OleDbCommand comm = new OleDbCommand(); protected static string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ahwildlife.mdb;Persist Security Info=False;Jet OLEDB:Database Password=sa;"; #endregion
#region 构造函数 /// <summary> /// 构造函数 /// </summary> public AccessHelper() {
} #endregion
#region 打开数据库 /// <summary> /// 打开数据库 /// </summary> private static void openConnection() { if (conn.State == ConnectionState.Closed) { conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ahwildlife.mdb;Persist Security Info=False;Jet OLEDB:Database Password=sa;"; comm.Connection = conn; try { conn.Open(); } catch (Exception ex) { throw new Exception(ex.Message); } } } #endregion
#region 关闭数据库 /// <summary> /// 关闭数据库 /// </summary> private static void closeConnection() { if (conn.State == ConnectionState.Open) { conn.Close(); conn.Dispose(); comm.Dispose(); } } #endregion
#region 执行sql语句 /// <summary> /// 执行sql语句 /// </summary> public static void ExecuteSql(string sqlstr) { try { openConnection(); comm.CommandType = CommandType.Text; comm.CommandText = sqlstr; comm.ExecuteNonQuery(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { closeConnection(); } } #endregion
#region 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭这个对象。 /// <summary> /// 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭这个对象。 /// </summary> public static OleDbDataReader DataReader(string sqlstr) { OleDbDataReader dr = null; try { openConnection(); comm.CommandText = sqlstr; comm.CommandType = CommandType.Text;
dr = comm.ExecuteReader(CommandBehavior.CloseConnection); } catch { try { dr.Close(); closeConnection(); } catch { } } return dr; } #endregion
#region 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭 /// <summary> /// 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭 /// </summary> public static void DataReader(string sqlstr, ref OleDbDataReader dr) { try { openConnection(); comm.CommandText = sqlstr; comm.CommandType = CommandType.Text; dr = comm.ExecuteReader(CommandBehavior.CloseConnection); } catch { try { if (dr != null && !dr.IsClosed) dr.Close(); } catch { } finally { closeConnection(); } } } #endregion
#region 返回指定sql语句的DataSet /// <summary> /// 返回指定sql语句的DataSet /// </summary> /// <param name="sqlstr"></param> /// <returns></returns> public static DataSet DataSet(string sqlstr) { DataSet ds = new DataSet(); OleDbDataAdapter da = new OleDbDataAdapter(); try { openConnection(); comm.CommandType = CommandType.Text; comm.CommandText = sqlstr; da.SelectCommand = comm; da.Fill(ds);
} catch (Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } return ds; } #endregion
#region 返回指定sql语句的DataSet /// <summary> /// 返回指定sql语句的DataSet /// </summary> /// <param name="sqlstr"></param> /// <param name="ds"></param> public static void DataSet(string sqlstr, ref DataSet ds) { OleDbDataAdapter da = new OleDbDataAdapter(); try { openConnection(); comm.CommandType = CommandType.Text; comm.CommandText = sqlstr; da.SelectCommand = comm; da.Fill(ds); } catch (Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } } #endregion
#region 返回指定sql语句的DataTable /// <summary> /// 返回指定sql语句的DataTable /// </summary> /// <param name="sqlstr"></param> /// <returns></returns> public static DataTable DataTable(string sqlstr) { DataTable dt = Common.GetDataTableCache(sqlstr);//读缓存 if (dt != null) { return dt.Copy(); } else { dt = new DataTable(); OleDbDataAdapter da = new OleDbDataAdapter(); try { using (OleDbConnection conn = new OleDbConnection()) { conn.ConnectionString = connectionString; conn.Open(); using (OleDbCommand comm = new OleDbCommand()) { comm.Connection = conn; comm.CommandType = CommandType.Text; comm.CommandText = sqlstr; da.SelectCommand = comm; da.Fill(dt); } } } catch (Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } Common.InsertDataTableCache(sqlstr, dt);//添加缓存 return dt.Copy(); } } #endregion
#region 返回指定sql语句的DataTable /// <summary> /// 返回指定sql语句的DataTable /// </summary> public static void DataTable(string sqlstr, ref DataTable dt) { OleDbDataAdapter da = new OleDbDataAdapter(); try { openConnection(); comm.CommandType = CommandType.Text; comm.CommandText = sqlstr; da.SelectCommand = comm; da.Fill(dt); } catch (Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } } #endregion
#region 返回指定sql语句的DataView /// <summary> /// 返回指定sql语句的DataView /// </summary> /// <param name="sqlstr"></param> /// <returns></returns> public static DataView DataView(string sqlstr) { OleDbDataAdapter da = new OleDbDataAdapter(); DataView dv = new DataView(); DataSet ds = new DataSet(); try { openConnection(); comm.CommandType = CommandType.Text; comm.CommandText = sqlstr; da.SelectCommand = comm; da.Fill(ds); dv = ds.Tables[0].DefaultView; } catch (Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } return dv; } #endregion }
希望本文所述对大家的C#程序设计有所帮助。
本文向大家介绍ASP.NET数据库操作类实例,包括了ASP.NET数据库操作类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ASP.NET数据库操作类。分享给大家供大家参考,具体如下: 更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net优化技巧总结》、《asp.net字符串操作技巧汇总》、《asp.net操作XML技巧总结》、《asp.net文件操作技巧汇总》
本文向大家介绍Linux下实现C++操作Mysql数据库,包括了Linux下实现C++操作Mysql数据库的使用技巧和注意事项,需要的朋友参考一下 想用C++写项目,数据库是必须的,所以这两天学了一下C++操作MySQL数据库的方法。也没有什么教程,就是在网上搜的知识,下面汇总一下。 连接MySQL数据库有两种方法:第一种是使用ADO连接,不过这种只适合Windows平台;第二种是使用MySQL自
本文向大家介绍PHP数据库操作Helper类完整实例,包括了PHP数据库操作Helper类完整实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP数据库操作Helper类。分享给大家供大家参考,具体如下: php操作数据库分为几个步骤(这里以MYSQL为例): 1. 建立连接 2. 选择数据库 3. 执行CRUD操作 (mysql_affected_rows()前一次mysql操作所
本文向大家介绍C#数据库操作的用法,包括了C#数据库操作的用法的使用技巧和注意事项,需要的朋友参考一下 由于最近和数据库打交道,需要用C#和SQL Server 2005进行操作,就把近段时间内的最常用的操作做个总结。本人也是第一次用C#操作数据库,所以这三种典型用法对初学者还是挺有帮助的。 以下是我在visual studio 2005上写的一个类(连的是SQL Server 2005),已经过
本文向大家介绍jdbc操作mysql数据库实例,包括了jdbc操作mysql数据库实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jdbc操作mysql数据库的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的JSP程序设计有所帮助。
本文向大家介绍PHP封装的PDO数据库操作类实例,包括了PHP封装的PDO数据库操作类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP封装的PDO数据库操作类。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php+Oracle数据库程序设计技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《p