0

我的控制台应用程序遇到问题。我想从 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,这很有意义,

4

1 回答 1

1

您的连接字符串不正确。这是此错误出现的主要原因。

尝试按照http://www.connectionstrings.com/access/更正连接字符串语法

尝试使用诸如“C:\studentu-db.accdb”之类的物理路径,如果您尝试从本地文件夹中查找访问数据库,则写入“|DataDirectory|\studentu-db.accdb”

于 2014-02-10T10:43:32.653 回答