[VB.NET] Problem CheckedListBox füllen

tw02e021

Cadet 4th Year
Registriert
Juni 2006
Beiträge
91
Hallo,

ich möche mir ein kleines Verwaltungsprogramm für einen SQL-Server bauen.
In 2 Listboxen werden die verfügbaren DBs angezeigt, in einer CheckedListbox die auf dem Server vorhandenen Objekte.

Wenn ich in der Listbox1 eine andere DB auswähle, sollen in der CheckedListbox die entsprchenden Datenbankobjekte aufscheinen.
Das funktioniert solange gut, solange die Objekte in der CheckedListbox immer weniger werden. Wähle ich in Listbox1 eine große DB mit vielen Objekten aus, erscheint in der CheckedListbox nur mehr "System.Data.DataRowView"

Warum ist das so?


Code:
Public Class Form1

    Dim conn As SqlConnection

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim Rohdat As New DataTable

        conn = New SqlConnection("Server=XXX;Database=XXX;Integrated Security=True")
        conn.Open()

        Dim prodadapter As New SqlDataAdapter("select name from sys.databases where len(owner_sid) > 4", conn)
        prodadapter.Fill(Rohdat)

        ListBox1.DataSource = Rohdat
        ListBox1.ValueMember = "name"

        ListBox2.DataSource = Rohdat
        ListBox2.ValueMember = "name"

        Dim strdbname As New String(ListBox1.SelectedValue.ToString)

        Dim tables As New DataTable
        Dim tabadapter As New SqlDataAdapter("select * from " & strdbname & ".sys.all_objects where is_ms_shipped = 0 order by type_desc asc", conn)
        tabadapter.Fill(tables)
        CheckedListBox1.DataSource = tables
        CheckedListBox1.ValueMember = "name"

    End Sub

   
    Private Sub ListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Click

        Dim tables As New DataTable
        Dim strdbname As New String(ListBox1.SelectedValue.ToString)
        Dim tabadapter As New SqlDataAdapter("select * from " & strdbname & ".sys.all_objects where is_ms_shipped = 0 order by type_desc asc", conn)

        tabadapter.Fill(tables)

        CheckedListBox1.DataSource = tables
        CheckedListBox1.ValueMember = "name"

    End Sub
End Class

Danke & lg
Robert
 

Ähnliche Themen

Zurück
Oben