在使用 C# 时对设置与 Microsoft Access 数据库的连接感到困惑
Posted
技术标签:
【中文标题】在使用 C# 时对设置与 Microsoft Access 数据库的连接感到困惑【英文标题】:Confused about setting up a connection to a microsoft access database while using C# 【发布时间】:2015-10-22 15:28:23 【问题描述】:好的,所以我一直在到处寻找如何将 microsoft access 数据库连接到 C# 命令行应用程序。我在做 Visual Basic 时有使用 Visual Studio 的经验,所以我通过“添加新数据源”菜单将数据库连接到项目。现在我在这里我不知道如何声明连接并打开它。我知道 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!");
但我不知道这是做什么的。如果这是错误的,有人可以纠正我并解释一下。请尽量保持简单。
【问题讨论】:
我无法帮助您使用 Access,但我真的推荐任何其他技术。想到 LocalDB 或旧的 Sql Server CE。 msdn.microsoft.com/en-us/library/5ybdbtte(v=vs.71).aspx 【参考方案1】:您只需使用 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。它不是数据库。这是伪装成羊的狼。如果你不关心你的数据,那没关系。
【讨论】:
【参考方案2】:设置connectionString = null
不起作用!
有关连接字符串的帮助,请参阅:http://www.connectionstrings.com/。这真是一个很棒的网站。
如果您想要连接到 Access,则需要 OleDbConnection
,而不是 SqlConnection
。后者用于连接到 SQL-Server。
您可以在此处找到示例:Getting values back from OleDbDataReader reading from Access database。
【讨论】:
以上是关于在使用 C# 时对设置与 Microsoft Access 数据库的连接感到困惑的主要内容,如果未能解决你的问题,请参考以下文章
使用 Microsoft.Jet.OLEDB.4.0 从 C# 将行插入 Access db,自动编号列设置为零
C# - MySQL 与 Microsoft SQL Server [关闭]