关闭

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

标签: C# Access 数据库 类库
108人阅读 评论(0) 收藏 举报


直接上代码:如有疑问加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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:839次
    • 积分:65
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档