VB.NET与MS Access的连接

VB.NET与MS Access的连接,vb.net,ms-access,connection,Vb.net,Ms Access,Connection,当我试图使用VB.NET连接到Microsoft Access数据库时,出现错误。我在网上看到很多例子。我的代码类似于这些示例,但我收到一条生成错误消息,说明: 未定义类型“System.Data.OleDb.OleDbConnection” 我尝试为system.data.oledb添加某种导入语句。。。但这似乎不起作用。我的代码如下。这是一个基本的连接,所以我认为我缺少某种插件、库或设置。我们将非常感谢您的任何帮助 Public Function TestMain(ByVal args()

当我试图使用VB.NET连接到Microsoft Access数据库时,出现错误。我在网上看到很多例子。我的代码类似于这些示例,但我收到一条生成错误消息,说明:

未定义类型“System.Data.OleDb.OleDbConnection”

我尝试为
system.data.oledb
添加某种导入语句。。。但这似乎不起作用。我的代码如下。这是一个基本的连接,所以我认为我缺少某种插件、库或设置。我们将非常感谢您的任何帮助

Public Function TestMain(ByVal args() As Object) As Object
    ' Connection String to MS Access DB
    Dim connectStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                             "Data Source=C:\Users\DMalerman\keyword.accdb;" & _
                             "Persist Security Info=False;"
    MsgBox(connectStr)
    ' Create connection to the db
    Using connection As New System.Data.OleDb.OleDbConnection(connectStr)
        ' Create the SQL Query
        Dim readQuery As String = "Select KeywordDriver.ScriptName from KeywordDriver " & _
                                    "where KeywordDriver.Keyword = test"
        Dim queryCommand As New System.Data.OleDb.OleDbCommand(readQuery, connection)

        'Open the Connection
        connection.Open()

        ' Query the Database
        Dim dbReader As System.Data.OleDb.OleDbDataReader = queryCommand.ExecuteReader()

        ' Loop until there is nothing left to read
        While dbReader.Read()
            Dim sKeyword As String = ""
            sKeyword = dbReader.GetString(0)
            MsgBox(sKeyword)
        End While
        ' Close the Reader
        dbReader.Close()

    End Using

    Return Nothing
End Function
你试过了吗

imports System.Data.OleDb
??
如果是,它是否给了您一个错误?

请尝试修改此行:
Dim queryCommand作为新系统.Data.OleDb.OleDbCommand(readQuery,connection)

通过将这些仅放在:
Dim queryCommand作为新系统.Data.OleDb.OleDbCommand(readQuery)
queryCommand.Connection=Connection

导入系统数据 导入System.Data.OleDb 模块1 公共str作为字符串 公共con作为OLEDB连接 公共cmd作为OleDbCommand 作为OleDbDataReader的公共dtreader 公共dtadapter作为OleDbDataAdapter

Public Sub openconn()
    str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Database2.mdb"
    con = New OleDbConnection(str)

    Try
        con.Open()
    Catch ex As Exception
        MessageBox.Show("gagal koneksi")
    End Try
End Sub

结束模块

我以前做过。当我加上,我得到一个额外的错误导入的System.Data.OleDb中指定的命名空间或类型不包含任何公共成员或找不到。确保已定义命名空间或类型,并且至少包含一个公共成员。确保导入的元素名称不使用任何别名。-未定义类型“System.Data.OleDb.OleDbConnection”。您可能需要重新安装Visual Studio,或至少重新安装包含该代码的组件。问题不在于你的代码,而在于你不能使用你的代码,因为你缺少基本文件。我想可能就是这样。这听起来是一个根本找不到的基本库。有没有办法找出这可能在哪个模块中,例如服务包或类似的东西?我也会遇到同样的错误。未定义类型“System.Data.OleDb.OleDbConnection”。非常感谢。我真的觉得我没有system.data.dll或类似的东西。这段代码对我来说似乎非常基本,考虑到软件具备它所需的功能,应该可以很好地工作。我只是在阅读一些搜索结果时遇到了这样一个问题:“确保您添加了assembly system.data的引用,并使用了正确的框架设置和assembly”。听起来很有希望。有人能告诉我怎么做吗?没有问题是Microsoft.ACE.OLEDB.12.0提供程序没有在您的本地计算机上注册。尝试从这里下载并测试您的代码。我在等待,但请慢慢来,使用F10一步一步地测试您的代码,仍然一样。我安装了文件并重新启动。还有什么我应该做的吗?