![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: per Combobox
Combobox und Datenbank
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
Habe da mal ne Frage! Habe eine Datenbank erstellt! Habe eine Combobox in der die Namen der Spieler stehen! In der Datenbank stehen weitere Daten zu den Spielern, wie Nachname, Spielerposition, Einsätze, Gelbe und Rote Karten etc.! Wollte nun mal fragen wie ich es realisieren kann, dass, wenn ich auf Den Namen in der Combobox klicke, die Daten aus der Datenbank gelesen werden und die Daten in das entsprechende Edit eingetragen werden! Dies soll also dann passieren, wenn ich auf den Namen in der Combobox klicke! Habe dafür noch eine Image im Anhang damit ihr wisst wie das so aussehen soll! Wäre schön wenn ihr mir da helfen könntet! Mit nem Quelltext oder vielleicht einer Anwendung von euch, die ihr mir vielleicht posten könnt oder per mail senden könnt! Wäre echt super!!! Vielen Dank im Vorraus Euer Bruce86 |
Re: Combobox und Datenbank
Nimm am Besten ne DBLookupComboBox.
|
Re: Combobox und Datenbank
Hi,
wenn die ComboBox als Selektor für deine Datensätze herhalten soll, dann würde ich mir beim Befüllen der ComboBox.Items den Schlüssel des Spieler-Datensatzes merken. Das geht mit der Methode AddObject(). Angenommen es gibt ein eindeutiges Feld NICKNAME:
Delphi-Quellcode:
Wenn du dann noch das Ereignis OnChange der ComboBox bedienst, dann kannst du deine Edit-Felder füllen:begin with ComboBox do begin Items.Clear; Query.SQL.Text := 'SELECT id, nickname FROM tbl ORDER BY nickname'; Query.Open; while not Query.Eof do begin Items.AddObject(Query.FieldByName('NICKNAME').AsString, Pointer(Query.FieldByName('ID').AsInteger)); Query.Next; end; Query.Close; end; end;
Delphi-Quellcode:
Allerdings kannst du dir das Leben auch leichter machen, wenn du die datensensitiven Controls (TDBEdit) verwendest. Insbesondere, wenn du die Daten nicht nur Anzeigen, sondern auch verändern möchtest.
procedure TDemoForm.ComboBox1Change(Sender: TObject);
begin with Sender as TComboBox do if (ItemIndex <> -1) then begin Query.SQL.Text := 'SELECT * FROM spieler WHERE id = :id'; Query.Params.ParamByName('id').AsInteger := Integer(Items.Objects[ItemIndex]); Query.Open; NachnameEdit.Text := Query.FieldByName('NACHNAME').AsString; // ... Query.Close; end; end; Getippt und nicht getestet. Freundliche Grüße vom marabu |
Re: Combobox und Datenbank
wenn man eine datenmenge öffnet und diese dann der reihe nach durchlaufen will, sollte man den zeiger auf den ersten datensatz setzen per First().
Delphi-Quellcode:
begin
with ComboBox do begin Items.Clear; Query.SQL.Text := 'SELECT id, nickname FROM tbl ORDER BY nickname'; Query.Open; Query.First; while not Query.Eof do begin Items.AddObject(Query.FieldByName('NICKNAME').AsString, Pointer(Query.FieldByName('ID').AsInteger)); Query.Next; end; Query.Close; end; end; |
Re: Combobox und Datenbank
Zitat:
|
Re: Combobox und Datenbank
Zitat:
|
Re: Combobox und Datenbank
Versuche mich nochmal zu erklären!
Also wenn ich auf den Namen in der Combobox klicke dann soll gesagt werden lade Daten aus der Datenbank für den Namen, der angeklickt ist! Dann soll gesagt werden - schreibe Daten in das dafür vorgesehene Edit! Wenn ich den Index der Combobox auf 0 und Aktiv des Table auf True setze ist doch sowieso der erste Spieler geladen! Mit geht es allein um die Realisierung von: Wie sage ich den Programm wenn ich auf einen Namen in der Combobox klicke - LADE DATEN AUS DER DATENBANK FÜR DEN NUN AKTIVEN(angeklickten) NAMEN??? und wie realisiere ich, dass das Programm weiß dass es die ausgelesenen Daten in das jeweils dafür vorgesehene Edit schreibt??? Euer Bruce86 |
Re: Combobox und Datenbank
Und gleich nochmal ne Frage! Wie funktioniert das Mit der DBLookupCombobox!
Wie geht man mit dieser um? Gibt es dafür ein Tutorial? Euer Bruce86 |
Re: Combobox und Datenbank
Zitat:
Lese jetzt nur gerade : Paradox ? Damit ist das Thema für mich vorerst erledigt. Tip : FieldByName in der Hilfe nachlesen. |
Re: Combobox und Datenbank
Aber hallo,
Zitat:
Zitat:
@Bruce: Lass dich nicht verwirren. Wenn du dein aktuelles Problem mit Paradox gelöst hast, ist es früh genug für eine Umschulung. Freundliche Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz