我正在尝试连接到Microsoft Access数据库,但我无法使用c#连接工作但是无法让它工作尝试使用sql连接创建登录表单,这也是一个本地连接
private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source ='(local)';Initial Catalog ='UserAccounts.accdb';Integrated Security=true");
SqlDataReader rdr = null;
try
{
conn.Open();
MessageBox.Show("Working");
}
catch (Exception)
{
MessageBox.Show("Error with the databse connection");
}
finally
{
Console.ReadLine();
if (rdr != null)
{
rdr.Close();
}
if (conn != null)
{
conn.Close();
}
}
}
答案 0 :(得分:1)
听起来可能很简单,但是你说要连接到 MS Access ,但是正在使用SqlConnection
,这是专门针对SQL Server的,所以当然它永远不会工作
对于MS Access,您可以将OleDbConnection
与正确的连接字符串一起使用,如下所示:
private void button1_Click(object sender, EventArgs e)
{
string connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=UserAccounts.accdb; Persist Security Info=False;";
using(OleDbConnection conn = new OleDbConnection(connectionString))
{
try
{
conn.Open();
MessageBox.Show("Working");
}
catch (Exception e)
{
MessageBox.Show("Error with the database connection\n\n + e.ToString()");
}
}
Console.ReadKey(true);
}
检查最合适的连接字符串here
答案 1 :(得分:0)
我认为您的Data Source
参数错误。通常,如果您的SQL实例在本地计算机上命名为“SQLEXPRESS”,它就像Data Source=localhost\SQLEXPRESS
。看看这些链接: