Announcement

Collapse
No announcement yet.

ListBox

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

  • ListBox

    Hallo Leute!<BR>Ich habe ein eigentlich simples Problem! Ich lade aus meiner Datenbank Daten<BR>in eine ListBox, diese werden in einem Block von mehreren Zeilen ausgegeben, ich möchte diese aber in einer Zeile ausgegeben haben,<BR>wie mache ich das?
    conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " _<BR>
    & " Data Source=EDV-Projekt.mdb")<BR>
    cmd = New OleDbCommand("SELECT * FROM EDVProbleme", conn)<BR>
    da = New OleDbDataAdapter(cmd)<BR>
    ds = New DataSet()<BR>
    conn.Open()<BR>
    da.Fill(ds, "Artliste")<BR>
    conn.Close()<BR>
    dt = ds.Tables.Item("Artliste")<BR>

    Dim Row as DataRow<BR>
    Dim cCol As DataColumn<BR>
    For Each cRow In dt.Rows<BR>
    For Each cCol In dt.Columns<BR>

    ListBox1.Items.Add(cRow(cCol.Ordinal))<BR>

    Next<BR>
    Next<BR>

  • #2
    Hallo,

    wenn in der Listbox alle Spalten des Datensatzes nebeneinander angezeigt werden sollen, kann man bereits die SELECT-Anweisung so ändern, dass alles in eine Ergebnisspalte verkettet wird:

    SELECT Feld1 + ' ' + Feld2 FROM Tabelle

    Im Programm würde das dann so aussehen:

    <pre>

    Dim conn As OleDbConnection
    Dim cmd As OleDbCommand
    Dim dr As OleDbDataReader
    conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " _
    & " Data Source=C:\Database\Datenbank.mdb")
    cmd = New OleDbCommand("SELECT Feld1 + ' ' + Feld2 FROM Tabelle", conn)
    conn.Open()
    dr = cmd.ExecuteReader()
    Do While dr.Read()
    ListBox1.Items.Add(dr(0))
    Loop
    dr.Close()
    conn.Close()

    </pre>

    Wenn es nur darum geht, die Listbox zu füllen und die Daten ansonsten nicht weiter im Programm benötigt werden, ist der OleDbDataReader effektiver als die Kombination von OleDbDataAdapter und DataSet

    Comment

    Working...
    X