以下代码部分是网上下载
public class AccessHelper
{
/// <summary>
/// Access文件名
/// </summary>
private string mdbFileName;
/// <summary>
///
/// </summary>
public string MdbFileName
{
get { return mdbFileName; }
set { mdbFileName = value; }
}
private string appId;
private string connectionString;
public string ConnectionString
{
get { return connectionString; }
set { connectionString = value; }
}
public AccessHelper() { }
public AccessHelper(string appId)
{
this.appId = appId;
this.mdbFileName = string.Format(@"d:\appkit\platform\bin\{0}\md_{0}.mdb", appId);
this.connectionString = string.Format("Provider=Microsoft.Jet.Oledb.4.0;Data Source={0};Persist Security Info=True", mdbFileName);
}
/// <summary>
/// 执行一个Sql命令,不返回数据集
/// </summary>
/// <param name="connectionString"></param>
/// <param name="cmdText"></param>
/// <param name="commandParameters"></param>
/// <returns></returns>
public int ExecuteNonQuery(string connectionString, string cmdText, params OleDbParameter[] commandParameters)
{
if (string.IsNullOrEmpty(connectionString)) return 0;
OleDbCommand cmd = new OleDbCommand();
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
PrepareCommand(cmd, conn, null, cmdText, commandParameters);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
}
public int ExecuteNonQuery(OleDbConnection conn, string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();
PrepareCommand(cmd, conn, null, cmdText, commandParameters);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
public int ExecuteNonQuery(OleDbTransaction trans, string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();
PrepareCommand(cmd, trans.Connection, trans, cmdText, commandParameters);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
public OleDbDataReader ExecuteReader(string connectionString, string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();
OleDbConnection conn = new OleDbConnection(connectionString);
try
{
PrepareCommand(cmd, conn, null, cmdText, commandParameters);
OleDbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return reader;
}
catch (Exception)
{
conn.Close();
throw;
}
}
/// <summary>
/// 返回数据集
/// </summary>
/// <param name="connectionString"></param>
/// <param name="cmdText"></param>
/// <param name="commandParameters"></param>
/// <returns></returns>
public DataSet ExecuteDataSet(string connectionString, string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
PrepareCommand(cmd, conn, null, cmdText, commandParameters);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
try
{
da.Fill(ds);
cmd.Parameters.Clear();
return ds;
}
catch (Exception)
{
conn.Close();
throw;
}
}
}
/// <summary>
/// 返回一个数据集
/// </summary>
/// <param name="conn"></param>
/// <param name="cmdText"></param>
/// <param name="commandParameters"></param>
/// <returns></returns>
public DataSet ExecuteDataSet(OleDbConnection conn, string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();
PrepareCommand(cmd, conn, null, cmdText, commandParameters);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
try
{
da.Fill(ds);
cmd.Parameters.Clear();
return ds;
}
catch (Exception)
{
conn.Close();
throw;
}
}
/// <summary>
/// 准备执行一个命令
/// </summary>
/// <param name="cmd">sql命令</param>
/// <param name="conn">sql连接</param>
/// <param name="trans">sql事务</param>
/// <param name="cmdText">命令文本,如: select * from tablename</param>
/// <param name="cmdParms">执行命令的参数</param>
private void PrepareCommand(OleDbCommand cmd, OleDbConnection conn, OleDbTransaction trans, string cmdText, OleDbParameter[] cmdParms)
{
//判断连接的状态,如果连接关闭,则打开
if (conn.State != ConnectionState.Open)
conn.Open();
//cmd属性赋值
cmd.Connection = conn;
cmd.CommandText = cmdText;
//是否用到事务处理
if (null != trans)
cmd.Transaction = trans;
cmd.CommandType = CommandType.Text;
//添加cmd需要的存储过程参数
if (null != cmdParms)
{
foreach (OleDbParameter parm in cmdParms)
{
cmd.Parameters.Add(parm);
}
}
}
}