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?
Danke & lg
Robert
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