Announcement

Collapse
No announcement yet.

Füllen einer Cbo mit Tabellennamen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Habe es geschafft.

    Hier die Lösung, vielleicht hilft die ja auch jemand anders
    Code:
    sdfconn = New SqlServerCe.SqlCeConnection("Data Source=" & strDBPfad & "\" & strDBName)
    
                ' ## Datenbank öffnen
                sdfconn.Open()
            
                ' ## Füllen der Combobox2
                Try
                    Dim sdfsql = New SqlServerCe.SqlCeCommand("Select * from information_Schema.tables  ", sdfconn)
     
                    Dim adapter As SqlServerCe.SqlCeDataAdapter
                    adapter = New SqlServerCe.SqlCeDataAdapter(sdfsql)
    
                    Dim ds As New DataSet
                    adapter.Fill(ds)
    
                    For i As Integer = 0 To ds.Tables.Count - 1
                        Dim Dt As DataTable = ds.Tables(i)
                        For j As Integer = 0 To Dt.Rows.Count - 1
                            Dim R As DataRow = Dt.Rows(j)
                            For k As Integer = 0 To Dt.Columns.Count - 1
                                'Debug.Print(Dt.Columns(k).Caption & ": " & R.Item(k).ToString)
                                If Dt.Columns(k).Caption = "TABLE_NAME" Then
                                    ComboBox2.Items.Add(R.Item(k).ToString)
                                End If
    
                            Next
                        Next
                    Next
    Gruß
    Krebsbachbub

    Comment


    • #17
      Ich habe das ganze mal mit einem MySQL-Server versucht, allerdings kam ich auch nicht weiter.
      Hier erstmal mein Code:

      man benötigt ein paar Imports:

      Option Explicit On
      Imports MySql.Data.MySqlClient
      Imports System.data


      jetzt noch ein paar Variablen:

      Public conn As MySqlConnection
      Public myCommand As New MySqlCommand
      Public myAdapter As New MySqlDataAdapter
      Public myData As New DataTable
      Public Database As New BindingSource
      Public myReader As MySqlDataReader
      Public myConnString, Fehlerstring, SQL As String


      so, nun wirds ernst

      conn = New MySqlConnection
      conn.ConnectionString = "" & Server & ";" _
      & "user id=" & UserName & ";" _
      & "password=" & Passwort & ";" _
      & "database=waz-db"

      myConnString = conn.ConnectionString
      Try
      conn.Open()
      SQL = "SELECT * FROM " & Datenbank & ""
      myCommand.Connection = conn
      myCommand.CommandText = SQL
      myAdapter.SelectCommand = myCommand
      myAdapter.Fill(myData)
      Database.DataSource = myData
      Me.ComboBox1.DataSource = Database


      allerdings bekomme ich als Combobox.text = "System.Data.DataRowView".

      eine einzelne Verknüpfung hatte ich bereits mit ComboBox1.DataBindings.Add(New Binding("Text", Database, "Information")) gelöst, allerdings schaffe ich es nicht meine Comboliste mit einer Datenbank zu füllen.

      Wer kann helfen?
      Man muss schon eine ganze Menge wissen, um zu erkennen dass man nichts weiss.

      Comment


      • #18
        Bitteschön. Gerade zeitlich etwas eingeschränkt, deswegen nur der Code und nicht die Erläuterung. Denke aber, dass es verständlich ist.

        Code:
                Dim con As System.Data.SqlClient.SqlConnection = Nothing
                Dim Zeile As System.Data.DataRow
                Dim Quelle As New System.Data.DataTable
        
                Try
                    con = New System.Data.SqlClient.SqlConnection("Server=Windmühle\SQLExpress;database=master;Integrated Security=true")
                    con.Open()
        
                    Dim adapter As New System.Data.SqlClient.SqlDataAdapter("Select table_name from information_Schema.tables", con)
        
                    adapter.Fill(Quelle)
        
                    For Each Zeile In Quelle.Rows
        
                        ComboBox1.Items.Add(Zeile.Item(0).ToString)
        
                    Next
        
                    MsgBox("Finished!")
        
                Catch ex As Exception
        
                    MsgBox(ex.Message.ToString)
        
                Finally
        
                    System.Data.SqlClient.SqlConnection.ClearPool(con)
        
                End Try
        Das ganze bezieht sich auf den MS SQL Server. Das Prinzip bleibt aber auch beim mySQL Server das gleiche.

        Hinweis: Bei mySQL kann man auch den einfacheren Command: "show tables" benutzen!

        Comment


        • #19
          mein Dank möge dir ewig nachschleichen :-)
          Man muss schon eine ganze Menge wissen, um zu erkennen dass man nichts weiss.

          Comment

          Working...
          X