【发布时间】:2016-01-23 02:10:22
【问题描述】:
我创建了一个程序,它显示来自访问数据库中不同表的数据(不使用向导连接到数据库。即所有连接都经过硬编码),我创建了一个简单的搜索,它通过一个字段进行搜索在一张桌子上。但是,我想创建一个函数,允许我搜索表中的所有字段。下面是我创建的简单搜索功能。
Public Sub Search()
con.Open()
Dim dt As New DataTable("Table1")
Dim rs As New OleDb.OleDbDataAdapter("Select * from Table1 where FirstName = '" & txtTabel1.Text & "'", con)
rs.Fill(dt)
dgvTabel2.DataSource = dt
dgvTabel2.Refresh()
rs.Dispose()
con.Close()
end sub
新函数应该是这样的
Public Sub SearchHard(TableName As String)
con.Open()
Dim dt As New DataTable("TableName")
Dim rs As New OleDb.OleDbDataAdapter(("Select * from " & TableName & " where FirstName = '" & txtTabel1.Text & "'") Or ("Select * from " & TableName & " where LastName = '" & txtTabel1.Text & "')"), con)
'SELECT * FROM MyTable WHERE FirstName LIKE '% txtTable1.text %' OR LastName LIKE '%txtTable1.tetx%'
rs.Fill(dt)
dgvTabel1.DataSource = dt
dgvTabel1.Refresh()
rs.Dispose()
con.Close()
End Sub
如果该函数可以接受一个参数来选择不同的表以减少过度使用代码,这也是一个很大的优势。 任何和所有的帮助将不胜感激
用于搜索的工作代码。
con.Open()
Dim dt As New DataTable("Table1")
Dim rs As New OleDb.OleDbDataAdapter("SELECT * FROM Table1 WHERE (FirstName = '" & txtTabel1.Text & "') or (LastName = '" & txtTabel1.Text & "')", con)
rs.Fill(dt)
dgvTabel1.DataSource = dt
dgvTabel1.Refresh()
rs.Dispose()
con.Close()
【问题讨论】:
标签: database vb.net ms-access vba