Anfängerfrage: jede Datenbankzeile in ein anderes Element schreiben



  • Hallo, ich suche jetzt schon verzeifelt seit mehreren Stunden nach einer Lösung. Bisher habe ich wenig mit objektorientierter Programmierung zu tun gehabt, aber für ein Projekt, was schnell umgesetzt werden soll, komme ich nun zumindest damit in Berührung. Bisher habe ich es ganz gut hinbekommen, aber jetzt komme ich gar nicht weiter.

    Ich muß eine Datenbanktabelle auslesen und will mit einer while Schleife jede einzelne Zeile als Label einer jeweils anderen Checkbox schreiben. Ich weiß wirklich nicht, nach welchen Stichworten ich hierfür suchen muss, ich finde immer nur Codebeispiele zur direkten (nacheinanderfolgenden) Ausgabe der Werte auf die Konsole.



    Im Prinzip würde ich es irgendwie in dieser Art machen, doch das funktioniert in C# gar nicht.

    int i = 0;
    .
    .
    .
    con1001.Open();
    
    SqlDataReader reader = cmd1018.ExecuteReader();
    
    while(reader.Read()){
    cbPoolAufNr(i).Text = reader[0].ToString();
    cbPoolAufNr(i).Visible = true;
    i++;
    }
    
    con1001.Close();
    

    Ich habe auch schon versucht ein Array zu verwenden, um diesem ersteinmal die Werte zuzuweisen, aber ich weiß vorher nicht, wie groß das Array sein muss und eine nachträgliche Änderung der Größe funktioniert auch nicht so recht.

    Ich wäre sehr dankbar, wenn ich wenigstens erfahren könnte, ich welche Richtung ich suchen muss, um das Problem schnell zu lösen.



  • Na du hast es doch schon fast.
    Erstelle in jedem Schleifendurchgang eine neue Textbox, weise der deinen Wert aus der Datenbankzeile zu und hau die Textbox dann auf dein Panel in deiner Form oder wo auch immer die Checkboxen hinsollen.



  • Danke für die Antwort. 🙂 Aber geht es vielleicht auch irgendwie ohne Neuerstellen der Checkboxen? Ich möchte die Label eigentlich nur umbennenen.



  • Ah ok, das ist ne Information die entweder verloren gegangen ist oder ich nicht richtig gelesen habe. Du hast also schon alle Checkboxen da? Wenn du kein Array verwenden willst, dann kannst du auch eine List<Checkbox> verwenden. Hab ich dich jetzt richtig verstanden?



  • Mhm...ja, vielleicht. 😃 Hättest du vielleicht noch ein Beispiel-Code-Schnipsel?

    Ich versuche mal mich zu "List" zu belesen. 😉 Vielen Dank...



  • Hallo,

    lies dir mal [FAQ] Variablennamen zur Laufzeit zusammensetzen durch - für dich ist dann besonders der Abschnitt "Wie kann man - alle Warnungen im Sinn - die Designer Elemente in ein Array übertragen?" im 2. Beitrag interessant.



  • Was Du eigentlich willst ist ein DataGridView.



  • Th69 schrieb:

    Hallo,

    lies dir mal [FAQ] Variablennamen zur Laufzeit zusammensetzen durch - für dich ist dann besonders der Abschnitt "Wie kann man - alle Warnungen im Sinn - die Designer Elemente in ein Array übertragen?" im 2. Beitrag interessant.

    Ah vielen Dank für den Link. 🙂

    Ich habe es inzwischen hinbekommen. Danke...


Anmelden zum Antworten