直接上代码:如有疑问加QQ五群互动共享(480888314):(更多干货大家共享)
public string _connectString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + @"\DBAccess\DB.accdb;"
+ "Jet OLEDB:Database Password=" ";Persist Security Info=False";//获取dataset
public DataSet GetAccessDataSet(string OleDb)
{
DataSet ds = new DataSet();
using (OleDbConnection conn = new OleDbConnection(_connectString))
{
try
{
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
OleDbDataAdapter OleDbda = new OleDbDataAdapter(OleDb, conn);
OleDbda.Fill(ds);
}
catch (Exception ex)
{
ExecptionRecord.WriteExecptionToFile(ex.ToString(),OleDb);
}
}
return ds;
}
//获取DataTable
public DataTable GetAccessDataTable(string OleDb)
{
DataTable da = new DataTable();
using (OleDbConnection conn = new OleDbConnection(_connectString))
{
try
{
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
OleDbDataAdapter OleDbda = new OleDbDataAdapter(OleDb, conn);
OleDbda.Fill(da);
}
catch (Exception ex)
{
ExecptionRecord.WriteExecptionToFile(ex.ToString() + Environment.NewLine , OleDb);
}
}
return da;
}
/// <returns></returns>
public byte[] AccGetbyte(string OleDb)
{
byte[] filebyte = null;
using (OleDbConnection conn = new OleDbConnection(_connectString))
{
conn.Open();
OleDbCommand com = new OleDbCommand();
OleDbDataReader dr = null;
com.Connection = conn;
com.CommandType = CommandType.Text;
com.CommandText = OleDb;
dr = com.ExecuteReader();
while (dr.Read())
{
filebyte = Encoding.Default.GetBytes(dr[0].ToString());
//filebyte = (byte[])dr[0];
}
dr.Close();
}
filebyte = Zip.Compress(filebyte);
return filebyte;
}
//执行单条OleDb语句
public bool AccExecSqlCommand(string OleDb)
{
OleDbConnection conn = new OleDbConnection(_connectString);
OleDbTransaction tran = null;
try
{
conn.Open();
tran = conn.BeginTransaction();
OleDbCommand cmd = new OleDbCommand(OleDb, conn, tran);
cmd.ExecuteNonQuery();
tran.Commit();
conn.Close();
return true;
}
catch (Exception ee)
{
if (tran != null)
{
tran.Rollback();
}
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
ExecptionRecord.WriteExecptionToFile(ee.Message + Environment.NewLine , OleDb);
return false;
}
}
//执行事务
public bool AccExecTansCommand(ArrayList OleDbarraylist)
{
using (OleDbConnection conn = new OleDbConnection(_connectString))
{
conn.Open();
OleDbCommand OleDbcom = new OleDbCommand();
OleDbcom.Connection = conn;
OleDbTransaction OleDbtrans = conn.BeginTransaction();
OleDbcom.Transaction = OleDbtrans;
try
{
for (int i = 0; i < OleDbarraylist.Count; i++)
{
string strOleDb = OleDbarraylist[i].ToString();
if (strOleDb.Trim().Length > 0)
{
OleDbcom.CommandText = strOleDb;
OleDbcom.ExecuteNonQuery();
}
}
OleDbtrans.Commit();
}
catch (OleDbException ex)
{
OleDbtrans.Rollback();
ExecptionRecord.WriteExecptionToFile(ex.ToString(),"");
return false;
}
}
return true;
}
//备份数据
public bool DbBackup(string strDest)
{
string str = Application.StartupPath;
string Str2 = str + @"\DBAccess\DB.accdb";
if (!File.Exists(Str2))
{
return false;
}
else
{
File.Copy(Str2, strDest, true);
return true;
}
}
// 还原数据
public bool DbRecover(string strDest)
{
string str = Application.StartupPath;
string strDestTo = str + @"\DBAccess\DB.accdb";
if (!File.Exists(strDest))
{
return false;
}
else
{
File.Copy(strDest, strDestTo, true);
return true;
}
}