配置web.config文件的鏈接參數
<configuration>
<appSettings>
<add key="connStr" value="/App_Data/abc.mdb" />
</appSettings>
<connectionStrings/>
C#代碼
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
namespace Conn
{
public class ConnDB
{
/// <summary>
/// 連接數據庫字符串
/// </summary>
private string connectionString;
/// <summary>
/// 存儲數據庫連接(保護類,只有由它派生的類才能訪問)
/// </summary>
protected OleDbConnection Connection;
/// <summary>
/// 構造函數:數據庫的默認連接
/// </summary>
public ConnDB()
{
string connStr;
connStr = System.Configuration.ConfigurationSettings.AppSettings["connStr"]; //從web.config配置中讀取
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Common.applicationPath + connStr;
Connection = new OleDbConnection(connectionString);
}
/// <summary>
/// 構造函數:帶有參數的數據庫連接
/// </summary>
/// <param name="newConnectionString">連接語句</param>
public ConnDB(string newConnectionString)
{
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Common.applicationPath + newConnectionString;
Connection = new OleDbConnection(connectionString);
}
/// <summary>
/// 獲得連接字符串
/// </summary>
public string ConnectionString
{
get { return connectionString; }
}
/// <summary>
/// 執行SQL語句沒有返回結果,如:執行刪除、更新、插入等操作
/// </summary>
/// <param name="strSQL">SQL語句</param>
/// <returns>是否成功</returns>
public bool ExeSQL(string strSQL)
{
bool resultState = false;
OleDbTransaction myTrans = null;
OleDbCommand command = null;
try
{
Connection.Open();
myTrans = Connection.BeginTransaction();
command = new OleDbCommand(strSQL, Connection, myTrans);
command.ExecuteNonQuery();
myTrans.Commit();
resultState = true;
}
catch
{
if (myTrans != null)
myTrans.Rollback();
resultState = false;
}
finally
{
Connection.Close();
}
return resultState;
}
/// <summary>
/// 執行SQL語句返回結果到DataReader中
/// </summary>
/// <param name="strSQL">SQL語句</param>
/// <returns>DataReader</returns>
public OleDbDataReader ReturnDataReader(string strSQL)
{
OleDbDataReader dataReader = null;
try
{
Connection.Open();
OleDbCommand command = new OleDbCommand(strSQL, Connection);
dataReader = command.ExecuteReader();
}
catch
{
Connection.Close();
}
return dataReader;
}
/// <summary>
/// 執行SQL語句返回結果到DataSet中
/// </summary>
/// <param name="strSQL">SQL語句</param>
/// <returns>DataSet</returns>
public DataSet ReturnDataSet(string strSQL)
{
DataSet dataSet = null;
try
{
Connection.Open();
dataSet = new DataSet();
OleDbDataAdapter OleDbDA = new OleDbDataAdapter(strSQL, Connection);
OleDbDA.Fill(dataSet, "objDataSet");
}
finally
{
Connection.Close();
}
return dataSet;
}
/// <summary>
/// 執行一查詢語句,同時返回查詢結果數目
/// </summary>
/// <param name="strSQL">SQL語句</param>
/// <returns>結果數</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;
}
/// <summary>
/// 關閉連接
/// </summary>
public void close()
{
if (Connection != null)
Connection.Close();
}
}
}