代碼:
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
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 是一個存儲過程