在代码中使用 System.data 命名空间时找不到 OleDbConnection

OleDbConnection not found while using System.data namespace in code

在我的代码中,我使用的是 OleDbConnection。当我引用 System.Data 时,它给出了找不到 OleDbConnection 的错误。但是当我引用 System.Data.OleDb 命名空间时,它运行良好。 为什么会出现此错误? 我通过为 System.Data 添加参考路径检查了参考,它存在。


找到下面的代码以获得更好的清除:

using System.Data;

public partial class Home : System.Web.UI.Page
{
  OleDbConnection oledbconn;
  protected void Page_Load(object sender, EventArgs e)
  {

  }
}

在上面的代码中,OleDbConnection oledbconn;---第 4 行给出错误

找不到类型或命名空间 OleDbConnection

现在考虑以下代码,

using System.Data.OleDb;

public partial class Home : System.Web.UI.Page
{
    OleDbConnection oledbconn;
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

这里的代码工作正常,

我知道将 OleDb 添加到 System.Data 将解决我的问题,但我想知道为什么即使我已经引用了 System.Data 命名空间,它首先会出错,

据我所知,当我引用 System.Data 时,它间接引用了他所有的子元素,如 OleDb、SqlClient 和所有..不是吗?

System.Data 是您在项目中引用的程序集。它包含 许多 个名称空间,其中之一是 System.Data.OleDb.

如果右键单击 System.Data 引用 > 在对象浏览器中查看,您可以浏览程序集中的所有内容。您可以在那里看到 OleDbConnection class 包含在 System.Data.OleDb 命名空间中。

如果您不确定 class 的位置,请始终在 MSDN 中搜索。 This page 会立即告诉您 OleDbConnection 住在:

Namespace: System.Data.OleDb

Assembly: System.Data (in System.Data.dll)