WEB开发网
开发学院WEB开发ASP.NET Access 通用数据访问类(asp.net 2.0 c#) 阅读

Access 通用数据访问类(asp.net 2.0 c#)

 2006-05-16 17:08:46 来源:WEB开发网   
核心提示:仿照以前收集的一个经典sql server数据访问类,稍做修改,Access 通用数据访问类(asp.net 2.0 c#),using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Secur

仿照以前收集的一个经典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();
       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

}


出处:http://enuosky.cnblogs.com/archive/2006/05/15/400879.html

Tags:Access 通用 数据

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接