Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie suche ich Daten in allen Tabellen in der Datenbank mit der ausgewählten Abfrage in vb.net?

Tut mir leid, Ana, ich glaube nicht, dass du den Tabellennamen in der from-Klausel weglassen kannst. Wenn Sie wirklich 30 verschiedene Tabellen durchsuchen möchten (die alle die gleichen Spalten haben...?), müssten Sie wahrscheinlich jede einzeln durchlaufen und die Informationen selbst zusammenfügen

Sie könnten eine for each (Table Name)-Schleife ausführen, um die Daten aus jeder Tabelle abzurufen. Der Adapter fügt alle neuen Informationen in die Datentabelle ein, sodass Sie am Ende nur eine Datentabelle mit Ergebnissen aus allen 30 Tabellen haben.

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

wobei Tabellennameliste eine Liste aller Ihrer Datentabellennamen ist. Dies wird die Arbeit erledigen, aber hier müssen noch viele Verbesserungen vorgenommen werden.