C#与带密码的access数据库的连接

在一个业务项目开发中,用到了C#连接带加密的ACCESS数据库,发现在百度中给出的连接语句大部分都是office2007版以前的access数据库的格式都是.mdb 的,格式模式为:

string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Application.StartupPath+"\\ExamTest.mdb;

Jet OLEDB:Database Password=1111";

而对于office2007以后的版本.accdb介绍的不多。这里通过C#上的设置直接找到通用做法连接字符串格式为:

string connstr = "Provider=Microsoft.ACE.OLEDB.12.0;;Data Source="+Application.StartupPath+"\\ExamTest.accdb;

Jet OLEDB:Database Password=1111";

做法查找做法:

1)打开C#选择数据源,点击添加新的数据源,选择数据库,点击下一步;

2)选择数据集,点击下一步,选择新建连接;

C#与带密码的access数据库的连接_第1张图片

 

3)选择好后点击确定,选择制定的数据库文件名,点击浏览找到位置,对于加密的ACCESS数据库需要输入密码,密码为ACCESS的加密密码,点击高级可做进一步设置(默认不需要更改)。

C#与带密码的access数据库的连接_第2张图片

4)点击测试连接,没啥问题的会提示 测试连接成功!

C#与带密码的access数据库的连接_第3张图片

 

5)到数据源配置向导,选择是,展开字符串信息,拷贝至C#中即可使用。

C#与带密码的access数据库的连接_第4张图片

参考:https://www.cnblogs.com/18553325o9o/p/4676617.html

          https://mp.csdn.net/postedit

在C#中开展相关测试:

 // 存放数据库连接字符串和数据库连接对象
        public static string M_str_con = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\ExamTest.accdb;Persist Security Info=True;Jet OLEDB:Database Password=xiaogong;User Id=admin";      //正确配置方式
        public static OleDbConnection My_con; //用来检测是否连接成功
        #region 建立access数据库连接
        public static string getcon()
        {
            My_con = new OleDbConnection(M_str_con);   //用SqlConnection对象与指定的数据库相连接
            try
            {
                My_con.Open();  //打开数据库连接
            }
            catch (Exception e)
            {
                MessageBox.Show("错误信息" + e.ToString());
            }
           // string i = My_con.State.ToString();
            return My_con.State.ToString();  //返回SqlConnection对象的信息
        }
        #endregion
        #region  关闭数据库连接
        ///


        /// 关闭于数据库的连接.
        ///

        public static void con_close()
        {
            if (My_con.State.ToString() == "Open")   //判断是否打开与数据库的连接
            {
                My_con.Close();   //关闭数据库的连接
                My_con.Dispose();   //释放My_con变量的所有空间
            }
        }
        #endregion

登陆界面:

 代码

private void Login_Load(object sender, EventArgs e)
        {
            textBox1.Text = DBbase.Database.getcon();                   
        }

返回:连接的状态,在一个textbox上显示出来

C#与带密码的access数据库的连接_第5张图片

你可能感兴趣的:(C#连接)