【发布时间】:2013-11-30 06:06:22
【问题描述】:
好的,希望我能正确解释这一点。我有大约 3 个月的使用 Access 数据库的专业经验,而没有使用 Vb.net,但我正在做一个项目来获得我的学位。这个项目的目标是为我父母的公司 All Keyed Up Lock & Safe 创建一个 Windows 窗体。
此表单将链接到包含 4 个表的 Access 数据库,这些表是公司一些客户的列表。然后,该表单将允许您在该数据库中搜索特定客户,然后返回有关该特定客户的所有信息。
这对于计费很有用,还可以让我们在离开前查看我们对客户的任何特殊说明。这四个表是[McDonald's-Corporate Stores], [McDonald's-Independently Owned], [Sonic-Corporate Stores], [Sonic-Independently Owned]。
基本上我遇到的问题是搜索功能。我终其一生都无法想办法让它发挥作用。我已经尝试了 4 或 5 种不同的解决方案,但仍然一无所获。我正在使用 Visual Studio 2013。这是我目前的代码,用于搜索按钮:
Private Sub SearchButton_Click(sender As Object, e As EventArgs) Handles SearchButton.Click
Dim Connection As New SqlClient.SqlConnectionStringBuilder
Connection.DataSource = "file:///C:\Users\thelukester145\Documents\All%20Keyed%20Up\All%20Keyed%20Up,%20Lock%20&%20Safe,%20LLC.accdb"
Dim objSQLConnection = New SqlClient.SqlConnection(Connection.ConnectionString)
Dim cmd As New SqlCommand()
Dim myTable As New DataTable()
Dim SearchFor = SearchBox.Text
If AddressButton.Checked Then
cmd.Connection = objSQLConnection
cmd.CommandText = "SELECT * FROM [McDonald's-Corporate Stores] WHERE [Address] LIKE '%" & SearchFor & "%'"
Dim myAdapter As New SqlDataAdapter(cmd)
myAdapter.Fill(myTable)
DataGrid.DataGridView1.DataSource = myTable
ElseIf NumberButton.Checked Then
cmd.Connection = objSQLConnection
cmd.CommandText = "SELECT * FROM [McDonald's-Corporate Stores] WHERE [McOpCo#] LIKE '%" & SearchFor & "%'"
Dim myAdapter As New SqlDataAdapter(cmd)
myAdapter.Fill(myTable)
DataGrid.DataGridView1.DataSource = myTable
End If
DataGrid.Show()
End Sub
如您所见,我一直试图让它仅适用于一张桌子,甚至无法做到这一点。我宁愿不使用 datagrid 方法来显示信息,而是将其显示在位于表单上的文本框中。
对于这么长的问题,任何帮助都会非常感激和抱歉。
【问题讨论】:
-
那么到底是什么问题?数据网格没有被填满吗?还是您不知道如何在表单字段而不是网格中显示数据?我不认为你在问一个具体的问题,就其本身而言。
-
很抱歉,我想我并没有真正做到足够具体。问题是我真的不知道从哪里开始。我从来没有尝试过将 vb.net 程序链接到 Access 数据库。我最终确实弄清楚了。但我也不确定如何从 Vb.net 运行查询,也不确定使用什么逻辑来执行搜索。如果有帮助
-
上面的代码有效吗?
-
没有我的代码崩溃了。让我看看我能不能得到确切的错误。
-
这里是确切的错误:System.Data.dll 中发生了“System.Data.SqlClient.SqlException”类型的未处理异常,发生在 Private Sub SearchButton_Click(sender As Object, e As EventArgs) Handles SearchButton.Click
标签: vb.net