操作ACCESS数据库的类
来源:互联网 发布:unity3d个人版 编辑:程序博客网 时间:2024/05/16 04:36
using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.OleDb;/// <summary>///DBAccess 的摘要说明/// </summary>public class DBAccess{ /// <summary> /// 连接数据库字符串 /// </summary> private string connectionString; /// <summary> /// 存储数据库连接(保护类,只有由他派生的类才能访问) /// </summary> protected OleDbConnection Connection; /// <summary> /// 构造函数:数据库的默认连接 /// </summary> public DBAccess() { connectionString = ConfigurationManager.ConnectionStrings["connection"].ConnectionString.ToString(); Connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\\Documents and Settings\\Administrator\\桌面\\XHT\\App_Data\\xht.mdb"); } /// <summary> /// 构造函数:带有参数的数据库连接 /// </summary> /// <param name="newConnectionString"></param> public DBAccess(string newConnectionString) { connectionString = newConnectionString; Connection = new OleDbConnection(connectionString); } /// <summary> /// 获得连接字符串 /// </summary> public string ConnectionString { get { return connectionString; } } /// <summary> /// 执行SQL语句没有返回结果,如:执行删除、更新、插入等操作 /// </summary> /// <param name="strSQL"></param> /// <returns>操作成功标志</returns> public bool ExeSQL(string strSQL) { bool resultState = false; Connection.Open(); OleDbTransaction myTrans = Connection.BeginTransaction(); OleDbCommand command = new OleDbCommand(strSQL, Connection, myTrans); try { command.ExecuteNonQuery(); myTrans.Commit(); resultState = true; } catch { myTrans.Rollback(); resultState = false; } finally { Connection.Close(); } return resultState; } /// <summary> /// 执行SQL语句返回结果到DataReader中 /// </summary> /// <param name="strSQL"></param> /// <returns>dataReader</returns> private OleDbDataReader ReturnDataReader(string strSQL) { Connection.Open(); OleDbCommand command = new OleDbCommand(strSQL, Connection); OleDbDataReader dataReader = command.ExecuteReader(); Connection.Close(); return dataReader; } /// <summary> /// 执行SQL语句返回结果到DataSet中 /// </summary> /// <param name="strSQL"></param> /// <returns>DataSet</returns> public DataSet ReturnDataSet(string strSQL) { Connection.Open(); DataSet dataSet = new DataSet(); OleDbDataAdapter OleDbDA = new OleDbDataAdapter(strSQL, Connection); OleDbDA.Fill(dataSet, "objDataSet"); Connection.Close(); return dataSet; } /// <summary> /// 执行一查询语句,同时返回查询结果数目 /// </summary> /// <param name="strSQL"></param> /// <returns>sqlResultCount</returns> public int ReturnSqlResultCount(string strSQL) { int sqlResultCount = 0; try { Connection.Open(); OleDbCommand command = new OleDbCommand(strSQL, Connection); OleDbDataReader dataReader = command.ExecuteReader(); while (dataReader.Read()) { sqlResultCount++; } dataReader.Close(); } catch { sqlResultCount = 0; } finally { Connection.Close(); } return sqlResultCount; }}