Vb.Net Windows窗体搜索访问数据库

时间:2013-11-29 17:57:58

标签: vb.net

好的,希望我能正确解释一下。我有大约3个月的使用Access数据库的专业经验,没有使用Vb.net,但我正在开展一个项目来获得我的学位。这个项目的目标是为我父母的公司创建一个Windows窗体,All Keyed Up Lock&安全。

此表单将链接到Access数据库,其中包含4个表,这些表是该公司某些客户的列表。然后,该表单将允许您在该数据库中搜索特定客户,然后返回该特定客户的所有信息。

这对于结算很有用,也可以让我们在离开之前查看我们对客户的任何特殊说明。这四个表是[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方法来显示信息,而是将其显示在位于表单上的文本框中。

无论如何,任何帮助都会受到很多赞赏,并且抱歉这么长的问题。

1 个答案:

答案 0 :(得分:1)

你在哪里打开连接。您可以尝试以下代码来建立连接:

Dim cnnOLEDB As New OleDbConnection
Dim cmdOLEDB As New OleDbCommand
Dim strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & System.Environment.CurrentDirectory & "\URDataBaseName.mdb"
cnnOLEDB.ConnectionString = strConnectionString
cnnOLEDB.Open()

' your code goes here

cnnOLEDB.Close()