-1

私はプログラミングが初めてで、ユーザーが MySQL からさまざまなデータ テーブルを選択、挿入、更新、および削除できるようにする基本的な VB.NET アプリケーションに取り組んでいます。

私が抱えている問題は、ユーザーが操作するデータベース テーブルを選択できるように、1 つの特定のデータベースのすべてのテーブル名をコンボ ボックスに入力する必要があることです。私のコードはうまくいくと思っていましたが、アプリを実行したときに得られるのは空のコンボボックスだけです。

誰かが私のコードの何が問題なのか教えてもらえますか?

よろしくお願いします!

コード:

Private Sub TableList_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles TableList.SelectedIndexChanged

    Try

        command = New MySqlCommand
        dt = New DataTable
        adapter = New MySqlDataAdapter

        If (conn.State = ConnectionState.Closed) Then
            setConnection()
        End If

        command.Connection = conn
        command.CommandText = "SHOW TABLES"

        adapter.SelectCommand = command
        reader = command.ExecuteReader

        'adapter.Fill(dt)
        dt.Load(reader)

        TableList.DataSource = dt
        TableList.DisplayMember = "Tables_in_sampledata" 'What is displayed
        TableList.ValueMember = "Tables_in_sampledata" 'The ID of the row

    Catch ex As MySqlException
        MessageBox.Show("Error1: " & ex.Message)
    Finally
        reader.Close()
        conn.Close()
    End Try

End Sub
4

1 に答える 1

0

の代わりにSHOW TABLES、次のクエリを使用します

SELECT DISTINCT TABLE_NAME 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE  TABLE_SCHEMA='YourDatabase';
于 2012-10-02T02:55:09.480 に答える