Tags:
vb.net
Hej..
Jeg har følgende kode:
Private Sub Combobox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
ComboBox2.Items.Clear()
If ComboBox1.SelectedIndex <> -1 Then
Dim serverName As String = ComboBox1.Text
Dim server As Microsoft.SqlServer.Management.Smo.Server = New Microsoft.SqlServer.Management.Smo.Server(serverName)
Dim rx As New System.Text.RegularExpressions.Regex("^Client........$")
Try
For Each database As Microsoft.SqlServer.Management.Smo.Database In server.Databases
If rx.IsMatch(database.Name) Then
ComboBox2.Items.Add(database.Name)
Else
End If
Next
Catch ex As Exception
Dim exception As String = ex.Message
End Try
End If
End Sub
Det virker fint, den finder her alle databaserne på en given MS-SQL server.
Mit problem er nu at jeg i en Database/Tabel på den udvalgte server, har en beskrivelse af hver database. Hvordan får jeg flettet det ind, så den kan finde navnene, og vise dem i stedet for det de hedder i serveren (Combobox2)..
Combobox1 finder alle server tilgængeligt på netværket..
2 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Der vil du i givet fald blive nød til at lave en Function der for hver server selecter ned mod din DB/Table for den givne server.
men husk at sætte en Try omkring da jeg ikke går ud fra at du har dine tabeller i System db´s eller kunne tænke dig at have db´s der ikke indeholder disse info.
For at hente informatinoer ud omkring tabeller, skemaer, kolonner osv. skal du bruge en skemaforespørgsel. Du skal bruge den metode der hedder GetSchema på din SqlConnection, kig evt. i dokumentation hvordan du får info ud for henholdsvis tabeller og kolonner