在使用 C# 时对建立与 Microsoft Access 数据库的连接感到困惑

Confused about setting up a connection to a microsoft access database while using C#

好的,所以我一直在到处寻找如何将 Microsoft Access 数据库连接到 C# 命令行应用程序。我在做visual basic的时候有过visual studio的经验,所以我通过"add new data source"菜单将数据库连接到项目中。现在我在这里我不知道如何声明连接并打开它。我知道 SQL 代码的基础知识,所以现在这不是真正的问题,它只是连接部分。环顾四周,我发现了这个:

using System.Data.SqlClient;
string connectionString = null;

connectionString = ;
SqlConnection cnn ;
cnn = new SqlConnection(connectionString);
try
{
    cnn.Open();
    Console.WriteLine("Connection Open!");
    cnn.Close();
}
catch (Exception ex)
{
    Console.WriteLine("Error: Connection Cannot be Opened!");
}

但我不知道这是做什么的。如果这是错误的,请有人纠正我并解释一下。请尽量简单。

您只需使用 OleDb* 而不是 Sql*。即:

string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\MyFolder\Northwind.accdb";
using( OleDbConnection cnn = new OleDbConnection(connectionString))
{
    try
    {
        cnn.Open();
        Console.WriteLine("Connection Open!");
        cnn.Close();
    }
    catch (Exception ex)
    {
        Console.WriteLine("Error: Connection Cannot be Opened!");
    }
}

PS:我不建议你把access当作数据库来使用。它不是数据库。它是伪装成绵羊的狼。如果您不关心您的数据,那好吧。

设置 connectionString = null 无效!

有关连接字符串的帮助,请参阅:http://www.connectionstrings.com/。这真是一个很棒的网站。

如果您想要连接到 Access,则需要 OleDbConnection,而不是 SqlConnection。后者用于连接到 SQL-Server.

您可以在此处找到示例:Getting values back from OleDbDataReader reading from Access database