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)选择数据集,点击下一步,选择新建连接;

 

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

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

 

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

参考: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  关闭数据库连接
        /// <summary>
        /// 关闭于数据库的连接.
        /// </summary>
        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上显示出来

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值