/**
* Access数据库通用处理类
* Author: ding.email@163.com
* CreateTime: 2008-05-16
*/
using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.Web;
using System.IO;
namespace DBUtility
{
public class EasyAccess
{
/// <summary>
/// 连接数据库字符串
/// </summary>
private string connectionString;
/// <summary>
/// 存储数据库连接(保护类,只有由它派生的类才能访问)
/// </summary>
protected OleDbConnection Connection;
/// <summary>
/// 构造函数:数据库的默认连接
/// </summary>
public EasyAccess()
{
string connStr;
connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString();
// connStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString(); //从web.config配置中读取
connectionString = connStr;
//connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Request.PhysicalApplicationPath + connStr;
Connection = new OleDbConnection(connectionString);
}
/// <summary>
/// 构造函数:带有参数的数据库连接
/// </summary>
/// <param name="newConnectionString"></param>
public EasyAccess(string newConnectionString)
{
connectionString = newConnectionString;
Connection = new OleDbConnection(connectionString);
}
/// <summary>
/// 获得连接字符串
/// </summary>
public string ConnectionString
{
get
{
return connectionString;
}
}
/// <summary>
/// 执行批处理(事务)
/// </summary>
/// <param name="arrlist"></param>
/// <returns></returns>
public bool ExecuteBatch(ArrayList arrlist)
{
bool bFlag = true;
string strSQL = string.Empty;
Connection.Open();
OleDbCommand command = null;
using (OleDbTransaction myTrans = Connection.BeginTransaction())
{
try
{
foreach (Object objSql in arrlist)
{
strSQL = objSql.ToString().Trim();
if (!string.IsNullOrEmpty(strSQL))
command = new OleDbCommand(strSQL, Connection, myTrans);
}
myTrans.Commit();
}
catch (Exception e)
{
myTrans.Rollback();
try
{
string lstrFileFolder = HttpContext.Current.Server.MapPath(@"~\log\");
string filename = "SqlErr_" + System.DateTime.Today.ToString("yyyyMMdd");
string path = lstrFileFolder + filename;
//判断目录是否存在,不存在就建立
if (!Directory.Exists(lstrFileFolder))
{
Directory.CreateDirectory(lstrFileFolder);
}
//写文件,文件存在则追加文本,不存在则创建新文件
FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine(" =============== [" + System.DateTime.Now.ToString() + "] =============== ");
m_streamWriter.WriteLine(e.ToString());
m_streamWriter.WriteLine("---------------------------------------");
m_streamWriter.WriteLine(strSQL);
m_streamWriter.WriteLine("---------------------------------------");
m_streamWriter.WriteLine(" ");
m_streamWriter.Flush();
m_streamWriter.Close();
}
catch { }
bFlag = false;
}
finally
{
if (Connection.State == ConnectionState.Open)
{
Connection.Close();
}
if (Connection != null)
{
Connection.Dispose();
}
}
}
return bFlag;
}
/// <summary>
/// 执行SQL语句没有返回结果,如:执行删除、更新、插入等操作
/// </summary>
/// <param name="strSQL"></param>
/// <returns>操作成功标志</returns>
public bool ExecuteNonQuery(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>
public OleDbDataReader ExecuteDataReader(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 ExecuteDataSet(string strSQL)
{
Connection.Open();
DataSet dataSet = new DataSet();
OleDbDataAdapter OleDbDA = new OleDbDataAdapter(strSQL, Connection);
OleDbDA.Fill(dataSet, "myDataSet");
Connection.Close();
return dataSet;
}
/// <summary>
/// 执行SQL语句返回结果到DataTable中
/// </summary>
/// <param name="strSQL"></param>
/// <returns></returns>
public DataTable ExecuteDataTable(string strSQL)
{
return this.ExecuteDataSet(strSQL).Tables[0];
}
}
}
* Access数据库通用处理类
* Author: ding.email@163.com
* CreateTime: 2008-05-16
*/
using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.Web;
using System.IO;
namespace DBUtility
{
public class EasyAccess
{
/// <summary>
/// 连接数据库字符串
/// </summary>
private string connectionString;
/// <summary>
/// 存储数据库连接(保护类,只有由它派生的类才能访问)
/// </summary>
protected OleDbConnection Connection;
/// <summary>
/// 构造函数:数据库的默认连接
/// </summary>
public EasyAccess()
{
string connStr;
connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString();
// connStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString(); //从web.config配置中读取
connectionString = connStr;
//connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Request.PhysicalApplicationPath + connStr;
Connection = new OleDbConnection(connectionString);
}
/// <summary>
/// 构造函数:带有参数的数据库连接
/// </summary>
/// <param name="newConnectionString"></param>
public EasyAccess(string newConnectionString)
{
connectionString = newConnectionString;
Connection = new OleDbConnection(connectionString);
}
/// <summary>
/// 获得连接字符串
/// </summary>
public string ConnectionString
{
get
{
return connectionString;
}
}
/// <summary>
/// 执行批处理(事务)
/// </summary>
/// <param name="arrlist"></param>
/// <returns></returns>
public bool ExecuteBatch(ArrayList arrlist)
{
bool bFlag = true;
string strSQL = string.Empty;
Connection.Open();
OleDbCommand command = null;
using (OleDbTransaction myTrans = Connection.BeginTransaction())
{
try
{
foreach (Object objSql in arrlist)
{
strSQL = objSql.ToString().Trim();
if (!string.IsNullOrEmpty(strSQL))
command = new OleDbCommand(strSQL, Connection, myTrans);
}
myTrans.Commit();
}
catch (Exception e)
{
myTrans.Rollback();
try
{
string lstrFileFolder = HttpContext.Current.Server.MapPath(@"~\log\");
string filename = "SqlErr_" + System.DateTime.Today.ToString("yyyyMMdd");
string path = lstrFileFolder + filename;
//判断目录是否存在,不存在就建立
if (!Directory.Exists(lstrFileFolder))
{
Directory.CreateDirectory(lstrFileFolder);
}
//写文件,文件存在则追加文本,不存在则创建新文件
FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine(" =============== [" + System.DateTime.Now.ToString() + "] =============== ");
m_streamWriter.WriteLine(e.ToString());
m_streamWriter.WriteLine("---------------------------------------");
m_streamWriter.WriteLine(strSQL);
m_streamWriter.WriteLine("---------------------------------------");
m_streamWriter.WriteLine(" ");
m_streamWriter.Flush();
m_streamWriter.Close();
}
catch { }
bFlag = false;
}
finally
{
if (Connection.State == ConnectionState.Open)
{
Connection.Close();
}
if (Connection != null)
{
Connection.Dispose();
}
}
}
return bFlag;
}
/// <summary>
/// 执行SQL语句没有返回结果,如:执行删除、更新、插入等操作
/// </summary>
/// <param name="strSQL"></param>
/// <returns>操作成功标志</returns>
public bool ExecuteNonQuery(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>
public OleDbDataReader ExecuteDataReader(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 ExecuteDataSet(string strSQL)
{
Connection.Open();
DataSet dataSet = new DataSet();
OleDbDataAdapter OleDbDA = new OleDbDataAdapter(strSQL, Connection);
OleDbDA.Fill(dataSet, "myDataSet");
Connection.Close();
return dataSet;
}
/// <summary>
/// 执行SQL语句返回结果到DataTable中
/// </summary>
/// <param name="strSQL"></param>
/// <returns></returns>
public DataTable ExecuteDataTable(string strSQL)
{
return this.ExecuteDataSet(strSQL).Tables[0];
}
}
}
<configuration>
<connectionStrings>
<add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\MyProject\Web2.0\myWeb\WebSite\App_Data\myData.mdb;Jet OLEDB:Database Password=" providerName="System.Data.OleDb"/>
</connectionStrings>
<appSettings>
<add key="str_connection" value="database=MysqlserverDB;server=127.0.0.1;uid=sa;pwd=;Max pool size =299;enlist=true;persist security info=true"/>
</appSettings>
<connectionStrings>
<add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\MyProject\Web2.0\myWeb\WebSite\App_Data\myData.mdb;Jet OLEDB:Database Password=" providerName="System.Data.OleDb"/>
</connectionStrings>
<appSettings>
<add key="str_connection" value="database=MysqlserverDB;server=127.0.0.1;uid=sa;pwd=;Max pool size =299;enlist=true;persist security info=true"/>
</appSettings>