C# asp.net 操作ACCESS 数据库 类库


直接上代码:如有疑问加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;
            }
        }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值