当前位置: 首页 > 编程笔记 >

C#数据库操作类AccessHelper实例

姬乐池
2023-03-14
本文向大家介绍C#数据库操作类AccessHelper实例,包括了C#数据库操作类AccessHelper实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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