如何从数据库中选择所有表?

时间:2015-02-22 06:26:50

标签: database vb.net ms-access-2010

下午好,无论你的时区是什么.. 我的问题是,  有没有办法选择所有表格?就像我们如何选择所有列一样?

这样的东西
 Dim cmdsql As String = "SELECT * FROM  *"

情况:

我在数据库中有4个表(“如果我的客户端更改它,我就不知道名字了”)所以我需要一个更好的方法来做这些。

  

我想SELECT所有列,FROM所有表都将它存储在数据集中,所以我可以迭代   如果它符合搜索条件。

编辑:顺便说一下,这是我的搜索代码。

SearchDataset.Clear()
lstSearchResults.Items.Clear()
btnSearch.Enabled = False
Dim cmdsql As String = "SELECT * FROM *" '- This variable holds the SQL command.
            '-----------------------------------------
            ' Connect to the current connection string
            '----------------------------------------
            SYSTEM_MainClient.dbcon.Open()

            '-----------------------------------------
            ' Setup the Where Clause
            '----------------------------------------

            If cboSearchBy.Text = "StudentID" Then
                SearchAdapter = New OleDb.OleDbDataAdapter(cmdsql + " WHERE " + cboSearchBy.Text + " = " + txtSearchbox.Text, SYSTEM_MainClient.dbcon)
            ElseIf cboSearchBy.Text = "Age" Then
                SearchAdapter = New OleDb.OleDbDataAdapter(cmdsql + " WHERE " + cboSearchBy.Text + " = " + txtSearchbox.Text, SYSTEM_MainClient.dbcon)
            Else
                SearchAdapter = New OleDb.OleDbDataAdapter(cmdsql + " WHERE " + cboSearchBy.Text + " like '" + txtSearchbox.Text + "'", SYSTEM_MainClient.dbcon)
            End If
            SearchAdapter.Fill(SearchDataset, "SearchResults")
            SYSTEM_MainClient.dbcon.Close()
            If SearchDataset.Tables("SearchResults").Rows.Count > 0 Then
                For i = 0 To SearchDataset.Tables("SearchResults").Rows.Count - 1
                    lstSearchResults.Items.Add(SearchDataset.Tables("SearchResults").Rows(i).Item("Last_Name").ToString + ", " + SearchDataset.Tables("SearchResults").Rows(i).Item("First_Name").ToString)
                Next
            Else
                SYSTEM_MainClient.ShowInformation("No records matched with the search '" + txtSearchbox.Text + "'.", "Database Search")
                txtSearchbox.Clear()
            End If
            btnSearch.Enabled = True

基本上我想要发生的事情,从所有表格中选择所有表格,然后将其填入数据集中,如果基于搜索条件与where子句匹配的结果名称匹配,则在数据集内迭代。

1 个答案:

答案 0 :(得分:0)

这是用于从ms访问数据库中选择所有表的代码

SELECT MSysObjects.Name AS table_name FROM MSysObjects
 WHERE (((Left([Name],1))<>"~") AND ((Left([Name],4))<>"MSys") AND ((MSysObjects.Type) In (1,4,6))) 
order by MSysObjects.Name 

对此查询进行一些更改将有助于选择表的列