首先。我不得不说这不是一个好问题。实际上你说的是......:请为我建立这个访问数据库和视觉工作室表单的数据连接。
但因为我心情好,所以我为你做的。
我在访问中创建了一个小数据库文件。我将它保存到一个名为数据库的文件夹中。它位于项目目录中。
我做了2节课。1个CharactersForm和2个Gateway
网关将连接到您的访问数据库。CharactersForm 是您在调试时看到的形式
这是 CharactersForm 类。确保拖放一个列表框和一个按钮 调用列表框 ListBoxCharacters。调用按钮 InladenButton。或随心所欲地调用它,但请确保它符合给定的代码。
Option Explicit On
Option Strict On
Option Infer On
Public Class CharactersForm
Dim _CharactersGateway As New Gateway
Private Sub InladenButton_Click(sender As Object, e As EventArgs) Handles InladenButton.Click
_CharactersGateway.LoadDataTableCharacters()
ListBoxCharacters.DataSource = _CharactersGateway.CharactersDataTable
ListBoxCharacters.DisplayMember = "Name"
End Sub
End Class
网关类(用于连接到您的访问文件)如果 Visual Studio 以某种方式无法访问数据库,则表示连接字符串不正确。确保连接字符串与您的 accesfile.accdb 所在的位置完全相同
Option Explicit On
Option Strict On
Option Infer On
Imports System.IO
Imports System.Data.OleDb
Public Class Gateway
Public Shared AppPath As String = Application.StartupPath()
'\Debug
Public Shared DirectoryUp1 As String = Path.GetDirectoryName(AppPath)
'\bin
Public Shared DirectoryUp2 As String = Path.GetDirectoryName(DirectoryUp1)
'\CharactersStackOverFlow
Public Shared DirectoryUp3 As String = Path.GetDirectoryName(DirectoryUp2)
'\CharactersStackOverFlow
Public Shared AccesDatabaseFilePath As String = DirectoryUp3 & "\DataBase\Characters.accdb"
Dim ConnectionString As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " & AccesDatabaseFilePath)
Public Property DataSetCharacters As New DataSet
Public ReadOnly Property CharactersDataTable As DataTable
Get
CharactersDataTable = DataSetCharacters.Tables("Characters")
End Get
End Property
Public CharactersDataAdapter As OleDbDataAdapter
Public Sub LoadDataTableCharacters()
CharactersDataAdapter = New OleDbDataAdapter("SELECT * FROM Characters", ConnectionString)
CharactersDataAdapter.Fill(DataSetCharacters, "Characters")
Dim kamersCommandBuilder As New OleDbCommandBuilder(CharactersDataAdapter)
End Sub
End Class
正如尤里·加兰特所说。您需要 OleDbConnection。如果您使用的是 office 2010 并收到此警告 ::
'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
您需要下载 2007 Office System 驱动程序。它也适用于 2010 年,不要问我为什么。
在谷歌中输入“2007 Office System Driver”。您可以从 microsoft 下载并安装它。
全部完成!
如果您运行程序并按下加载按钮。您的角色名称将出现在列表框中。
如果要将数据库字段的值放入变量中。然后它只是制作一个 for 循环并将它们放入暗淡的变量中。这是我相信你可以自己做的事情。到数据库的连接和程序中的加载现在已经整理好了!
祝你好运
乔纳森