C# 如何连接到Visual Studio中的access数据库

C# 如何连接到Visual Studio中的access数据库,c#,winforms,oledb,C#,Winforms,Oledb,我在visual studio 2019中有一个医院解决方案。我已经完成了设计,我需要连接到我的access数据库 我有这个代码来尝试实现这一点 try { string constring = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Acer\Desktop\Haigazian\Major_Courses\DataBase\My Project\HospitalDB.accdb"; O

我在visual studio 2019中有一个医院解决方案。我已经完成了设计,我需要连接到我的access数据库

我有这个代码来尝试实现这一点

try
{
    string constring = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Acer\Desktop\Haigazian\Major_Courses\DataBase\My Project\HospitalDB.accdb";
    OleDbConnection conDataBase = new OleDbConnection(constring);
    String x = textBox1.Text;

    OleDbCommand cmdSelectParcel = new OleDbCommand("Select * from Employee where SSN ='" + x + "'", conDataBase);

    ...
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}
我还使用System.Data.OleDb将其放在表单的顶部
但是,它没有被使用,并且是灰色的

每当我写OLEDB连接时,它都会给我一个错误并说

“命名空间的Stask.Delo.OLeDB中找不到类型名称‘OLeBB连接’。该类型已被转发到Sealth' Stase.DATA OLeDB,版本=4.0.1.0,Cule=中性,公共密钥令牌=3BF38 56AD364E35”考虑添加对该程序集的引用“

”。 我已经从另一个解决方案文件中复制了代码,
System.Data.OleDb
在那里工作得非常好,因此它一定与我的项目有关。我还尝试通过视图>其他窗口>数据源添加数据库访问,但收到了消息

所选项目不支持此窗口。有关启用数据绑定的步骤,请访问:

我已经查看了这个网站,但是我还没有弄清楚


有人知道如何解决此问题吗?

检查您的项目是否确实有对Microsoft OleDb内容的引用。例如,在解决方案资源管理器中右键单击您的项目,然后选择“添加->引用->COM”,然后在列表中查找您的Microsoft OleDb内容并勾选它们。

您需要在项目中引用System.Data。

顺便说一句,完成后,需要使用..打开数据库

 conDataBase.Open();
您还应该参数化查询,而不是在查询字符串中传递值,以避免SQL注入

 DataTable Employees = new DataTable();
 
 using (OleDbCommand cmdSelectParcel = new OleDbCommand("Select * from Employee where SSN = ?", conDataBase))
 {
     cmdSelectParcel.Parameters.Add("?", OleDbType.VarChar).Value = x;
     Employees.Load(cmdSelectParcel.ExecuteReader());
 }
您还需要在获取数据时对其进行处理

 foreach (DataRow Employee in Employees.rows)
 {
     //Do Something
 }
 

你读过了吗?你是建立了一个.Net Framework还是.Net 5项目?如果是后者,那么就建立一个新的针对.Net Framework的项目。或者使用ODBC提供程序而不是OleDb。我真的希望你没有考虑使用Access运行一个实时医院项目?