ListBox Problem mit Mysql.



  • Hallo,
    habe ein Problem mit Listbox.
    Es geht darum ich lasse in ListBox1 werte aus der Datenbank anzeigen.
    Jetzt habe ich das Problem, wenn ich zum Beispiel zwei Namen habe:
    Klaus
    Klaus.
    Für die bearbeitung muss ich ListBox1 einen von den Namen auswählen.
    Aber ich kann nur ein wert in der List Box anzeigen und bearbeiten.
    Und bei der bearbeitung werden beide Klaus bearbeitet statt nur der der ich aus gewählt habe.

    Wie kann ich das so machen:
    Z.B.: 1-Klaus, 2-Klaus usw...

    Oder habt ihr einen anderen voschlag oder tipp wie ich das Problem lösen kann.
    Danke.



  • ich hab das jetzt 3 mal durchgelesen und versteh immer noch nicht was du vor hast, wo dein problem ist, und wo du hilfe brauchst.



  • ja ich weiss erklären ist schweeeerrrrr.

    ListBox1 bekommt 4 werte aus der Datenbank angezeigt.

    Klaus
    Peter
    Mario
    Klaus

    Dann habe ich bei ListBox1->Onclick, eine SQL befehl um die Daten abzudaten.
    Jetzt habe ich die abfrage so das, wenn Peter angeklickt ist die updates nur für Peter gemacht wird.
    Jetzt bei Klaus werden beide Klaus upgedatet, obwohl ich nur den ersten klaus angeklickt habe.
    Kann ich in ListBox1 vor klaus noch den Primärkey anzeigen um damit später auf den Datensatz zu zugreiffen zu können.

    1, Klaus
    2, Peter
    3, Mario
    4, Klaus



  • Hallo

    Vermutlich machst du das UPDATE mit einer Bedingung ähnlich "WHERE field = 'Klaus'". Und das ist natürlich klar, das dann alle Datensätze passend zur Bedingung bearbeitet werden. Du must entweder mit eindeutigen Feldwerten (UNIQUE) oder mit eindeutigen Datensatz-IDs arbeiten, die du im Hintergrund anstelle der Feldwerte verwendest.

    bis bald
    akari



  • Das hört sich gut an habe ich auch gedacht.
    Wie mache ich das Bitte mit Hintergrund???
    Ich kenne ein paar sachen mit ListBox, aber das mit Hintergrund weiss ich leider nicht sonst hätte ich nicht gefragt. 🙂
    Wurde mich freuen ein Beispiel code zu sehen, damit ich arbeiten kann.

    Danke.



  • Du kannst, anstatt mit ListBox->Items->Add("xxx") die Methode ListBox->Items->AddObject("xxx", obj) benutzen.

    Als Objekt "obj" kannst du einen beliebigen Pointer oder auch eine Zahl angeben, indem du einfach castest:

    int nId = 4711;
    ListBox->Items->AddObject("xxx", (TObject*)nId);
    

    Mit der Eigenschaft "Objects" kannst du dann wieder an den Wert rankommen:

    int nIndex = ListBox->ItemIndex;
    int nId = (int)(ListBox->Items->Objects[nIndex]);
    


  • Cool dann kann ich auch mysql werte vergeben.
    Sieht sehr gut aus.
    Boah Klasse, Leute vielen vielen Dank für die Infos.

    MFG titanium.


Anmelden zum Antworten