我知道在这个网站上为大多数人在公园散步,但对于像我这样的n00b现在给我带来一点麻烦,我想要做的就是编程我的"查询"按钮,根据在相应文本框中输入的字符串显示/搜索访问文件中的数据。例如,如果您尝试搜索名为Eric的所有员工的访问数据库。我希望能够在我的FirstName txtbox中键入Eric,并在我的访问文件中显示名为Eric的所有员工的列表。到目前为止,我有一些运行没有错误的代码但是当我点击按钮时,文本框中的任何内容都会消失。我积极地错过了一些东西,只需要一些指导。这是我的代码到目前为止。在VB中这样做,请帮助!!!
Using con = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Eric\Documents\Fadv.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
答案 0 :(得分:1)
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以搜索名称LIKE,这样您就可以立即找到Eric,Erin和Erica。您还可以使用其他数据访问方法来简单地触发查询,并将某些控件(例如DataGridView
)绑定到结果。
最后,参数可以保护您免受Little Bobby Tables的访问。了解他们,了解他们,爱他们。