t DataTable GetDataTable(CommandType cmdType, string cmdText, Nameva lueCollection pars);
}
}
?
OledbHelper.cs
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Text;
using System.Data;
using System.Data.Common;
using System.Data.OleDb;
namespace DataHelper
{
class OledbHelper : DbHelper
{
private OleDbConnection conn;
private OleDbTransaction trans;
private bool inTransaction = false; //指示当前是否正处于事务中
///
/// 构造函数,初始OledbConnection对象
///
///
public OledbHelper(string StrConnection)
{
this.conn = new OleDbConnection(StrConnection);
}
///
/// 获取Conneciton
///
public override IDbConnection Connection
{
get { return this.conn; }
}
///
/// 打开数据库连接
///
public override void Open()
{
if (conn.State != ConnectionState.Open)
{
this.conn.Open();
}
}
///
/// 关闭数据库连接,释放资源
///
public override void Close()
{
if (this.trans != null)
{
this.trans.Dispose();
}
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
conn.Dispose();
}
public override void BeginTrans()
{
trans = conn.BeginTransaction();
inTransaction = true;
}
public override void CommitTrans()
{
trans.Commit();
inTransaction = false;
}
public override void RollBackTrans()
{
trans.Rollback();
inTransaction = false;
}
///
/// 参数准备
///
///
///
///
public void PrepareCommand(OleDbCommand cmd, CommandType cmdType, string cmdText, Nameva lueCollection pars)
{
if (this.trans != null)
{
cmd.Transaction = this.trans;
}
cmd.Connection = conn;
cmd.CommandType = cmdType;
cmd.CommandText = cmdText;
if (pars != null && pars.Count > 0)
{
string[] keys = pars.AllKeys;
for (int i = 0; i < pars.Count; i++)
{
cmd.Parameters.AddWithValue(keys[i], pars[i]);
}
}
}
public override int ExecuteNonQuery(CommandType cmdType, string cmdText, Nameva lueCollection pars)
{
using (OleDbCommand cmd = new OleDbCommand())
{
this.PrepareCommand(cmd, cmdType, cmdText, pars);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
}
public override DbDataReader ExecuteReader(CommandType cmdType, string cmdText, Nameva lueCollection pars)
{
using (OleDbCommand cmd = new OleDbCommand())
{
this.PrepareCommand(cmd, cmdType, cmdText, pars);
DbDataReader dr = cmd.ExecuteReader();
cmd.Parameters.Clear();
return dr;
}
}
public override object ExecuteScalar(CommandType cmdType, string cmdText, Nameva lueCollection pars)
{
using (OleDbCommand cmd = new OleDbCommand())
{
this.PrepareCommand(cmd, cmdType, cmdText, pars);
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return val;
}
}
public override DataTable GetDataTable(CommandType cmdType, string cmdText, Nameva lueCollection pars)
{
using (OleDbCommand cmd = new OleDbCommand())
{
DataTable dt = new DataTable();
this.PrepareCommand(cmd, cmdType, cmdText, pars);
using (DbDataAdapter da = new OleDbDataAdapter())
{
da.SelectCommand = cmd;
da.Fill(dt);
cmd.Parameters.Clear();
return dt;
}
}
}
}
}
SqlHelper.cs
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Text;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
namespace DataHelper
{
class SqlHelper : DbHelper
{
private SqlConnection conn;
private SqlTransaction trans;
private bool inTransaction = false; //指示当前是否正处于事务中
///
/// 获取IDbConnection
///
public override IDbConnection Connection
{
get { return this.conn; }
}
///
/// 构造函数,初始SqlConnection对象
///
///
public SqlHelper(string StrConnection)
{
this.conn = new SqlConnection(StrConnection);
}
///
/// 打开数据库连接
///
public override void Open()
{
if (conn.State != ConnectionState.Open)
{
this.conn.Open();
}
}
///
/// 关闭数据库连接,释放资源
///
public override void Close()
{
if (this.trans != null)
{
this.trans.Dispose();
}
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
conn.Dispose();
}
///
/// 开始事务
///
public override void BeginTrans()
{
trans = conn.BeginTransaction();
inTransaction = true;
}
///
/// 提交事务
///
public override void CommitTrans()
{
trans.Commit();
inTransaction = false;
}
///
/// 回滚事务
///
public override void RollBackTrans()
{
trans.Rollback();
inTransaction = false;
}
///
/// 参数准备
///
///
///
///
public void PrepareCommand(SqlCommand cmd, CommandType cmdType, string cmdText, Nameva lueCollectio