using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data;
/// <summary>
/// AccessHelper
/// </summary>
public class AccessHelper : IDisposable
{
public static string DATABASE = AppDomain.CurrentDomain.BaseDirectory + "Bin/Database1.accdb";
private OleDbConnection m_conn = new OleDbConnection();
public AccessHelper()
{
string connstr = "Provider = Microsoft.ACE.OLEDB.12.0;";
connstr += "Data Source =\"" + DATABASE + "\"";
m_conn.ConnectionString = connstr;
m_conn.Open();
}
public int ExecuteNonQuery(string sql)
{
int res = 0;
OleDbCommand cmd = null;
lock (cmd = new OleDbCommand())
{
cmd.Connection = m_conn;
cmd.CommandText = sql;
res = cmd.ExecuteNonQuery();
}
return res;
}
public int ExecuteNonQuery(string sql, OleDbParameter[] ps)
{
int res = 0;
OleDbCommand cmd = null;
lock (cmd = new OleDbCommand())
{
cmd.Connection = m_conn;
cmd.CommandText = sql;
foreach (OleDbParameter p in ps)
{
cmd.Parameters.Add(p);
}
res = cmd.ExecuteNonQuery();
}
return res;
}
public DataTable GetDataTable(string strsql)
{
DataTable dt = null;
OleDbCommand cmd = null;
OleDbDataAdapter ad = null;
try
{
lock (dt = new DataTable())
{
cmd = new OleDbCommand(strsql, m_conn);
ad = new OleDbDataAdapter((OleDbCommand)cmd);
dt.Clear();
ad.Fill(dt);
}
}
catch (Exception e)
{
throw e;
}
return dt;
}
public object QuerySome(string sql)
{
OleDbCommand cmd = null;
lock (cmd = new OleDbCommand())
{
cmd.Connection = m_conn;
cmd.CommandText = sql;
using (OleDbDataReader or = cmd.ExecuteReader())
{
if (or.Read())
{
return or.GetValue(0);
}
}
}
return null;
}
void IDisposable.Dispose()
{
m_conn.Close();
m_conn.Dispose();
m_conn = null;
}
}
Access数据库文件:*.accdb ,放在 Bin 文件夹里