如何使用vb.net中的select query搜索数据库中所有表中的数据?这是我的代码:
Try
mysqlconn.Open()
Dim query As String
query = "select * from where (Item_Description LIKE '%" & TextBox11.Text & "%' or Vendor LIKE '%" & TextBox11.Text & "%' OR S_N LIKE '%" & TextBox11.Text & "%' or Tag_num LIKE '%" & TextBox11.Text & "%')"
command = New MySqlCommand(query, mysqlconn)
sda.SelectCommand = command
sda.Fill(dbdataset)
bsource.DataSource = dbdataset
DataGridView1.DataSource = bsource
sda.Update(dbdataset)
mysqlconn.Close()
Catch ex As Exception
Finally
mysqlconn.Dispose()
End Try
答案 0 :(得分:0)
抱歉Ana我认为你不能在from子句中省略表名。如果你真的想要搜索30个不同的表(它们都有相同的列......?),那么你可能需要分别迭代它们中的每一个并自己加入信息
您可以为每个(表名)循环执行操作以从每个表中获取数据。适配器将所有新信息添加到数据表中,以便最后只有1个数据表,其中包含所有30个表的结果。
Dim query As String
Dim dt as new Datatable
For each tablename in (tablenamelist)
query = "select * from " & tablename & " where (Item_Description LIKE '%" & TextBox11.Text & "%' or Vendor LIKE '%" & TextBox11.Text & "%' OR S_N LIKE '%" & TextBox11.Text & "%' or Tag_num LIKE '%" & TextBox11.Text & "%')"
command = New MySqlCommand(query, mysqlconn)
sda.SelectCommand = command
sda.Fill(dt)
next
其中tablenamelist是所有数据表名称的列表。这将完成工作,但这里有许多改进。