我想制作一个简单的应用程序来练手,所以连接到像Access (.accdb)这样简单的数据库会很好。
我的程序长这样:
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Linq;
using System.Web;
namespace myProject.Account
{
public class DbManager
{
private OleDbConnection _dbConnection;
public void OpenDbConnection()
{
_dbConnection = new OleDbConnection {ConnectionString = GetConnectionString()};
}
private string GetConnectionString()
{
return "Provider=Microsoft.ACE.OLEDB.14.0;Data Source=exercise1.accdb";
}
public void CloseDbConnection()
{
_dbConnection.Close();
}
public void GetUser()
{
DataSet myDataSet = new DataSet();
var myAdapptor = new OleDbDataAdapter();
OleDbCommand command = new OleDbCommand("SELECT * FROM tblUser", _dbConnection);
myAdapptor.SelectCommand = command;
myAdapptor.Fill(myDataSet, "tblUser");
}
}
}
我使用Visual Studio 2010。当我使用内置调试模式“启动而不调试”(CTRL+F5)测试我的应用程序时,会出现以下错误:
本地计算机上未注册'Microsoft.ACE.OLEDB.14.0'提供程序。
我尝试从Microsoft官网下载和安装“Microsoft Access Database Engine 2010 Redistributable”(64位): http://www.microsoft.com/download/en/details.aspx?id=13255
不幸的是,这并没有解决问题。当执行myAdapptor.Fill()时,仍然会出现错误。出了什么问题?