AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Listbox ->Zum Eintrag gehörende ID auswählen
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox ->Zum Eintrag gehörende ID auswählen

Ein Thema von plautzer · begonnen am 20. Aug 2004 · letzter Beitrag vom 20. Aug 2004
Antwort Antwort
Seite 1 von 2  1 2      
plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#1

Listbox ->Zum Eintrag gehörende ID auswählen

  Alt 20. Aug 2004, 17:09
HI,

Ich habe in einer listbox verschiedene Einträge,
per klick soll dann die dazugehörige ID rausgesucht werden und im dbgrid die dazugehöirgen beiträge angezeigt werden.
ICh bekomme das nicht ganz hin, wäre spitze wenn ihr helfen könntet
hier mein Code:

Delphi-Quellcode:
for i:= 0 to LB_id.Items.Count -1 Do
Begin
if LB_id.Selected[i] then
    begin
    x:=LB_id.Items[i];
{
    Q_gr.Close;
    Q_gr.SQL.Clear;
    Q_gr.SQL.Add('Select * FROM gruppe.db WHERE Gruppe=:x');
    Q_gr.Params.ParamByName('x').Value:= x;
    Q_gr.Prepared:= True;
    Q_gr.ExecSQL; 
}

    p:=Q_gr.Fieldbyname('ID').AsInteger;

    Q_vertrag.Close;
    Q_vertrag.SQL.Clear;
    Q_vertrag.SQL.Add('Select * FROM vertrag.db WHERE id =:p');
    Q_vertrag.Params.ParamByName('p').AsFloat:= p;
    Q_vertrag.Prepared:= True;
    Q_vertrag.ExecSQL;
    Q_vertrag.Active:=true;
    end;
end;
end;
Wenn ich die Klammern weglasse, dann kommt ein zugriffsfehler und wenn ich sie lasse, dann git er immer die letzte ID wieder. Jm. ne Ahnung?

THx,

Plautzer
  Mit Zitat antworten Zitat
mytar

Registriert seit: 30. Mai 2004
Ort: Zermatt
411 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: Listbox ->Zum Eintrag gehörende ID auswählen

  Alt 20. Aug 2004, 17:13
=: !

Ich denke: := !

Q_gr.SQL.Add('Select * FROM gruppe.db WHERE Gruppe=:x'); greetz
mytar
Francis Obikwelu
  Mit Zitat antworten Zitat
Benutzerbild von Bowler
Bowler

Registriert seit: 8. Sep 2003
Ort: Bochum
148 Beiträge
 
Delphi XE7 Enterprise
 
#3

Re: Listbox ->Zum Eintrag gehörende ID auswählen

  Alt 20. Aug 2004, 17:18
nope, das ist schon richtig.
In SQL-Statements werden Parameter in der Form :<Parametername> angegeben.
Der Doppelpunkt gehört zum Parameter und nicht zum =.
Christian Rüsken
  Mit Zitat antworten Zitat
Benutzerbild von Bowler
Bowler

Registriert seit: 8. Sep 2003
Ort: Bochum
148 Beiträge
 
Delphi XE7 Enterprise
 
#4

Re: Listbox ->Zum Eintrag gehörende ID auswählen

  Alt 20. Aug 2004, 17:22
So, mal schauen, ob ich das richtig verstanden habe.

Du hast eine Listbox mit einiges Einträgen. Wenn der User auf einen Eintrag klickt, dann soll der String in die Variable X kopiert werden, richtig?

Da wäre es IMHO einfacher, wenn du das ganze in das OnClick-Ereignis der Listbox schreibst, und dir den markierten Eintrag einfach mit

x:=LB_id.Items[LB_id.ItemIndex]; holst.

Dann hast du den schonmal on X stehen.
Zum Zugriffsfehler:
Kann es sein, dass du den Parameter vorher nicht angelegt hast? Schaue dort mal on der OH nach Delphi-Referenz durchsuchenCreateParam.

Dann wundert es mich aber, dass der Fehler in der nächsten Zuweisung nicht kommt.
Christian Rüsken
  Mit Zitat antworten Zitat
plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#5

Re: Listbox ->Zum Eintrag gehörende ID auswählen

  Alt 20. Aug 2004, 17:29
HI,

an dem X liegt es nicht, das funzt eigentlich ganz gut.

Ich habe in der Listbox alle einträge der zweiten spalte der Tabelle Gruppe.
Beim anklicken soll einfach die dazugehörige heruasgesucht werden -> also die ID an stelle X

Oh, und wenn auch die klammern weglasse und einen eintrag in de rlistbox anklicke dann kommt die fehlermeldung, dass das feld ID nicht gefunden wurde obwohl es existiert!

Plautzer
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Listbox ->Zum Eintrag gehörende ID auswählen

  Alt 20. Aug 2004, 17:32
Mach mal noch ein CheckParam vor:

[/delphi]Q_vertrag.Params.ParamByName('p').AsFloat:= p;[delphi]
  Mit Zitat antworten Zitat
plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#7

Re: Listbox ->Zum Eintrag gehörende ID auswählen

  Alt 20. Aug 2004, 17:35
- noch ein zweites checkparam davorsetzen?
--> da macht doch keinen Sinn, oder?!?

Plautzer
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Listbox ->Zum Eintrag gehörende ID auswählen

  Alt 20. Aug 2004, 17:39
Zitat von plautzer:
- noch ein zweites checkparam davorsetzen?
--> da macht doch keinen Sinn, oder?!?

Plautzer
Du hasts ja noch nirgendwo stehen.


Delphi-Quellcode:
Q_vertrag.Close;
    Q_vertrag.SQL.Clear;
    Q_vertrag.SQL.Add('Select * FROM vertrag.db WHERE id =:p');
    Q_vertrag.CheckParams := true;
    Q_vertrag.Params.ParamByName('p').AsFloat:= p;
    Q_vertrag.Prepared:= True;
    Q_vertrag.ExecSQL;


Ausserdem schreib lieber statt ExecSQL mal Open.

Mit ExecSQL entfernt man Datensätze, oder fügt neue ein.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Listbox ->Zum Eintrag gehörende ID auswählen

  Alt 20. Aug 2004, 17:43
was ist Gruppe in der gruppe.db für ein FeldTyp ?

was steht in der ListBox genau drinnen ?


Delphi-Quellcode:
Q_vertrag.SQL.Add('Select * FROM vertrag.db WHERE id =:p');
    Q_vertrag.Params.ParamByName('p').AsFloat:= p;
ist das wirklich ein Float Wert ?

Delphi-Quellcode:
Q_vertrag.SQL.Add('Select * FROM vertrag.db WHERE id =:p');
    Q_vertrag.Params.ParamByName('p').AsInteger := p;
  Mit Zitat antworten Zitat
plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#10

Re: Listbox ->Zum Eintrag gehörende ID auswählen

  Alt 20. Aug 2004, 17:54
Zitat von Spider:
Mach mal noch ein CheckParam vor:

[/delphi]Q_vertrag.Params.ParamByName('p').AsFloat:= p;[delphi]
@Spider: sorry hatte was falsch verstanden;
Brachte aber auch keine veränderung mit sich. Er kann das feld ID nicht finden.

@Hans

In der listbox stehen die werte aus der zweiten Spalte(Gruppe) von tabelle GRuppe.db und in dem grid die daten aus Vertrag.db

Gruppe.db:
Gruppe ist ein normales string feld (A)
ID ist ein zähler, also integer (I):

Vertrag.db
ID ist Integer(I);


Plautzer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz