Autor Beitrag
Lernender
Hält's aus hier
Beiträge: 2

XP
D7 Prof
BeitragVerfasst: Di 22.02.05 21:52 
Guten Abend,

ich habe ein (hoffentlich) einfach zu lösendes Problem:
Mit einem SQL-Statement (TIBQuery namens Positionsabfrage) suche ich in einer IB-DB einen bestimmten Datensatz und möchte anschließend das Ergebnis in einer Delphi-Zuweisung weiter nutzen. Also:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
  Positionsabfrage.Close;
  Wert := inttostr(AuftraegeAuftragsid.Value);
  text := 'select max(Positionsid) from Positionen where auftragsid = '+wert;
  Positionsabfrage.SQL.Text:=text;
  Positionsabfrage.Open;


Die Abfrage funktioniert tadellos, allerdings finde ich keinen Weg, das Ergebnis (also bspw. die gefundene maximale PositionsID) in einem weiteren Schritt einer Variablen zuzuweisen.

Bin für Hinweise sehr dankbar.

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.
cartridge
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 209

Win XP
D4 Prof,D6 Prof
BeitragVerfasst: Mi 23.02.05 08:59 
Wenn ich dich richtig verstanden habe, soll so etwas dabei heraus kommen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
Wert := inttostr(AuftraegeAuftragsid.Value);
text := 'select max(Positionsid) AS TOPPasID from Positionen where auftragsid = '+wert;
Positionsabfrage.SQL.Text:=text;
Positionsabfrage.Open;
with Autraege.FieldByName('TOPPoaID').AsString do
 //irgendwas
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 23.02.05 09:04 
Na dann erstmal begrüßen: :welcome:

Das ist auf zwei Arten lösbar:
Möglichkeit 1:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
Wert := inttostr(AuftraegeAuftragsid.Value);
text := 'select max(Positionsid) AS MaxPosID from Positionen where auftragsid = '+wert;
Positionsabfrage.SQL.Text:=text;
Positionsabfrage.Open;
MeineIntegerVariable := Positionsabfrage.FieldByName('MaxPosID').AsInteger;

Möglichkeit 2:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
Wert := inttostr(AuftraegeAuftragsid.Value);
text := 'select max(Positionsid) from Positionen where auftragsid = '+wert;
Positionsabfrage.SQL.Text:=text;
Positionsabfrage.Open;
MeineIntegerVariable := Positionsabfrage.Fields[0].AsInteger;
Lernender Threadstarter
Hält's aus hier
Beiträge: 2

XP
D7 Prof
BeitragVerfasst: Mi 23.02.05 10:01 
Vielen Dank an die Teilnehmer cartridge und jasocul!!!
Eine schnelle Hilfe :wink: