要在C#中访问的数据库连接

时间:2014-03-21 20:14:59

标签: c# ms-access oledbconnection

我正在尝试使用访问数据库为C#中的酒店预订系统创建登录,遗憾的是我遇到了以下错误的问题;

“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。

我对此做的大部分研究都是人们没有在他们的机器上安装Access。但是当我安装它并仍然遇到这个问题时,我对此非常困惑。如果有人对此有任何建议或解决方案,我将不胜感激!

我正在使用文件阅读器类,对于类中的任何方法,它总是在“Conn.Open()”命令中显示错误,这是我的其中一个方法的代码。

public DataTable LoadLogin()         {             string connString =“Provider = Microsoft.ACE.OLEDB.12.0; Data Source = F:”没有得到我的连接字符串:p“;             DataTable results = new DataTable();

        using (OleDbConnection conn = new OleDbConnection(connString))
        {
            OleDbCommand cmd = new OleDbCommand("SELECT User_Name, Password FROM Employee", conn);
            conn.Open();


            OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
            adapter.Fill(results);


        }
        return results;

    }

1 个答案:

答案 0 :(得分:3)

这可能是因为您正在编译并运行32位,但正在使用64位Access驱动程序。另一种可能是您安装了32位版本的Access,在这种情况下,您需要使用"Microsoft.Jet.OLEDB.4.0"作为提供程序字符串来编译和运行x86程序。

不幸的是,您无法将程序的位数与您正在使用的Access提供程序的位数混合使用。