我的控制台应用程序遇到问题。我想从Microsoft Access数据库中读取信息并将其显示在控制台上。 这是代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.OleDb;
using System.Data.Sql;
namespace _1_uzd
{
class Program
{
static void Main(string[] args)
{
string ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=\"studentu-db.accdb\"";
OleDbConnection con = new OleDbConnection(ConnectionString);
OleDbCommand cmd = new OleDbCommand("SELECT * FROM persona", con);
con.Open();
OleDbDataReader dataReader = cmd.ExecuteReader();
while (dataReader.Read())
{
Console.WriteLine(dataReader.GetInt32(0) + "\t" + dataReader.GetString(1) + "\t" + dataReader.GetString(2));
}
con.Close();
Console.ReadLine();
}
}
}
它应该可以工作,但是当我调试时,会显示错误消息:“OleDbExeption未处理。无法找到可安装的ISAM”......问题出在哪里?
PS:我正在使用Microsoft Access 2007,这是有道理的,
答案 0 :(得分:1)
您的连接字符串不正确。这是错误的主要原因。
尝试根据http://www.connectionstrings.com/access/
更正连接字符串语法尝试使用“C:\ studentu-db.accdb”之类的物理路径,如果您尝试从本地文件夹中找到访问数据库,请写入“| DataDirectory | \ studentu-db.accdb”