AccessHelper,accesshelper.cs
代碼:
![](https://www.aspphp.online/bianchen/UploadFiles_4619/201701/2017012018420827.gif)
![]()
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
}
View Code
誰給一個C#的AccessHelper類
對於accesshelper的使用問題aspnet c#
SqlParameter[] paramList1 = //定義一個代碼池
{
sqlhelper.CreateInParam("@bigtype", SqlDbType.VarChar, 50,Request.QueryString["pindao"]),
sqlhelper.CreateInParam("@typeid", SqlDbType.VarChar, 18, dpdtype.SelectedItem.Text),
sqlhelper.CreateInParam("@title", SqlDbType.VarChar, 50,txttitle.Text),
sqlhelper.CreateInParam("@addadmin", SqlDbType.VarChar, 50,txtadmin.Text),
sqlhelper.CreateInParam("@author", SqlDbType.VarChar, 50, txtauthor.Text ),
sqlhelper.CreateInParam("@abstract",SqlDbType.VarChar, 4000,txtjian.Text),
sqlhelper.CreateInParam("@body", SqlDbType.NText,1073741823,FCKbody.Value ),
sqlhelper.CreateInParam("@commentEnabled", SqlDbType.Int , 4, i),
sqlhelper.CreateInParam("@shouyetupian", SqlDbType.VarChar, 100, tupian ) ,
sqlhelper.CreateInParam("@wzid", SqlDbType.Int , 4,Request.QueryString["wzid"]) };
sqlhelper.RunProc("EditArticle",paramList1);
EditArticle 是一個存儲過程