您的位置:首页 > 数据库

Access 通用数据访问类

2010-11-15 12:07 295 查看
  仿照以前收集的一个经典sql server数据访问类,稍做修改。
  using System;
  using System.Data;
  using System.Configuration;
  using System.Web;
  using System.Web.Security;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.WebControls.WebParts;
  using System.Web.UI.HtmlControls;
  using System.Data.OleDb;

  
  /// <summary>
  /// DataAccess 的摘要说明
  /// </summary>
  public class DataAccess
  {
      protected static OleDbConnection conn = new OleDbConnection();
      protected static OleDbCommand comm = new OleDbCommand();
   public DataAccess()
   {
    //init
   }
      private static void openConnection()
      {
          if (conn.State == ConnectionState.Closed)
          {
              conn.ConnectionString = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source="+ConfigurationManager.AppSettings["myconn"];//web.config文件里设定。
              comm.Connection = conn;
              try
              {
                  conn.Open();
              }
              catch (Exception e)
              { throw new Exception(e.Message); }

          }
        
      }//打开数据库
   
      private static void closeConnection()
      {
          if (conn.State == ConnectionState.Open)
          {
              conn.Close();
  
4000
            conn.Dispose();
              comm.Dispose();
          }
      }//关闭数据库

      public static void excuteSql(string sqlstr)
      {
          try
          {
              openConnection();
              comm.CommandType = CommandType.Text;
              comm.CommandText = sqlstr;
              comm.ExecuteNonQuery();
          }
          catch (Exception e)
          {
              throw new Exception(e.Message);
          }
          finally
          { closeConnection(); }
      }//执行sql语句

      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;
          }//返回指定sql语句的OleDbDataReader对象,使用时请注意关闭这个对象。
      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();
              }
          }
      }//返回指定sql语句的OleDbDataReader对象,使用时请注意关闭

      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;
      }//返回指定sql语句的dataset

      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();
          }
      }//返回指定sql语句的dataset

      public static DataTable dataTable(string sqlstr)
      {
          DataTable dt = new DataTable();
          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();
          }
          return dt;
      }//返回指定sql语句的datatable
      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();
          }
      }//返回指定sql语句的datatable

      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;
      }
  //返回指定sql语句的dataview

  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息