我知道这对于你们大多数人在这个网站上散步,但对于像我这样的n00b现在给我一点麻烦,我所要做的就是编程我的"查询"按钮显示/搜索数据从我的访问文件基于在相应的文本框中输入的字符串。例如,如果您试图搜索所有名为Eric的员工的访问数据库。我希望能够在我的FirstName txtbox中输入Eric,并在我的访问文件中显示所有名为Eric的员工的列表。到目前为止,我有一些代码运行没有错误,但当我点击按钮,无论在我的文本框消失。我肯定我错过了一些东西,只是需要一些指导。这是我到目前为止的代码。用VB做这个,请帮忙!!
Using con = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:UsersEricDocumentsFadv.accdb")
Dim SQL As String = ("SELECT FirstName, LastName FROM info")
Dim cmd As New OleDbCommand(SQL, con)
con.Open()
Dim reader As OleDbDataReader
reader = cmd.ExecuteReader()
While reader.Read()
txtFirstName.Text = reader(0).ToString()
Console.WriteLine(" {0} = {1}", reader("FirstName"),
reader("LastName"))
txtFirstName.Text = reader(0).ToString()
End While
reader.Close()
End Using
Using con = New OleDbConnection("Provider= blah blah blah...")
Dim SQL As String = "SELECT FirstName, LastName FROM info WHERE FirstName = ?"
' OleDbCommand supports Dispose
Using cmd As New OleDbCommand(SQL, con)
cmd.Parameters.AddWithValue("@p1", txtWhere.Text)
con.Open()
Dim reader As OleDbDataReader
reader = cmd.ExecuteReader()
' a listbox to store more than one result
lstResults.Items.Clear ' clear old stuff
While reader.Read()
lstResults.Items.Add(String.Format("{0}, {1}",
reader.Item(1).ToString, reader.Item(0).ToString())
Console.WriteLine(" {0} = {1}", reader("FirstName"),
reader("LastName"))
End While
reader.Close()
End Using
End Using
可以修改SQL来搜索像这样的名字,这样您就可以同时找到Eric、Erin和Erica。您还可以使用其他数据访问方法来简单地触发查询并将一些控件(如DataGridView
)绑定到结果。
最后,参数保护你不被Little Bobby Tables访问。学习他们,了解他们,爱他们。