Datenbank-Tabellennamen in Listbox anzeigen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Datenbank-Tabellennamen in Listbox anzeigen

    Hallo zusammen,
    Ich möchte für ein weiterführendes Projekt alle Tabellennamen einer lokalen mdf-Datenbank in einer Listbox anzeigen lassen.
    Ich habe schon alles mir bekannte ausprobiert, allerdings wird in der Listbox nur "System.Data.DataRowView" angezeigt... :thumbdown:

    VB.NET-Quellcode

    1. Imports System.Data.SqlClient
    2. Public Class Form1
    3. Private conn As SqlConnection
    4. Private da As SqlDataAdapter
    5. Private dt As DataTable
    6. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    7. conn = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename" & "=|Datadirectory|\DB1.mdf; Integrated Security=True;User Instance=True")
    8. conn.Open()
    9. da = New SqlDataAdapter("SELECT TABLE_NAME FROM information_schema.TABLES", conn)
    10. dt = New DataTable()
    11. da.Fill(dt)
    12. ListBox1.DataSource = dt


    Kann mir irgendjemand helfen??? Bin schon langsam aber sicher am verzweifeln.... ;(
    Mit DBConnection.GetSchema ist sowas gemeint?

    VB.NET-Quellcode

    1. conn = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename" & "=|Datadirectory|\DB1.mdf; Integrated Security=True;User Instance=True")
    2. conn.Open()
    3. Dim dt As DataTable = conn.GetSchema("tables")


    Soweit hat es auch geklappt... 8o
    Allerdings hab ich weiterhin Probleme mit der Übergabe zur Listbox, es wird weiterhin "System.Data.DataRowView" angezeigt!
    Listbox.DataSource=dt
    Listbox.DisplayMember=???

    Ste83 schrieb:

    Allerdings hab ich weiterhin Probleme mit der Übergabe zur Listbox, es wird weiterhin "System.Data.DataRowView" angezeigt!
    Listbox.DataSource=dt
    Listbox.DisplayMember=???

    Displaymember muß auf eine Spalte der DataTable gesetzt wern. Ich weiß ja nicht, wie die spalten in deiner Datatable heißen, etwa bei einer Spalte "Table_Name" käme:

    VB.NET-Quellcode

    1. Listbox.DisplayMember="Table_Name"
    fertich.

    Sollteste mal ausprobieren, kann dir noch bei vielen Belangen nützlich sein.