![]() |
Datenbank: Interbase • Zugriff über: SQL - Abfrage
SQL Abfrage in Abhängigkeit von einem Quoted String
Hallo mal wieder,
erstmal herzlichen Dank für eure bisherige Hilfe. Wie das Thema schon sagt ich hab ne SQL Abfrage und die sollte nun noch abhängig von einem QuotedString werden. Kurze Eräuterung : Ich habe iene Datenbank namens listedza in deren folgende Spalten(ID,VORGANG,MENGE,CHARGENR), diese sind alle als CHAR deklariert in der DB, vorhanden sind. Nun Lese ich folgendes aus:
Delphi-Quellcode:
Jetzt ist meine große Frage wie kann ich das auslesen, abhängig von der ID über einen Quted String?
with IBQuery3 do
begin // Summe ZU berechnen SQL.Text := 'SELECT SUM(menge) FROM listedza WHERE VORGANG = ''UZU'''; Open; summeZu := Fields[0].AsInteger; // Summe AB berechnen SQL.Text := 'SELECT SUM(menge) FROM listedza WHERE VORGANG = ''FAB'''; Open; summeAb := Fields[0].AsInteger; Close; Result := summeZu - summeAb; LagerE.Text := IntToStr(Result); end; Normal würde ich ja sagen "where IDTEIL = ' +QuotedStr(TeilenrE.Text) + ';');" aber das geht nicht so wie ich es mir vorstelle zu dem hinzu kommt, dass das ganze auch CHARGENR abhängig sein soll. Sprich es muss über die ID und CHARGENR gefiltert werden bevor die Rechnung stattfindet. Kann mir bei diesem Problem jmd der mehr Erfahrung als ich habe helfen?? Mfg Manu |
Re: SQL Abfrage in Abhängigkeit von einem Quoted String
Zitat:
ersteinmal eine Frage: Warum definierst Du Felder welch Zahlen beinhalten sollen als "Strings"? Das andere: Versuche dich mal in die Verwendung von ![]()
Delphi-Quellcode:
begin
with IBQuery3 do begin Close; SQL.Text := 'SELECT SUM(menge) FROM listedza WHERE VORGANG = :pvorgang'; ParamByName('pvorgang').AsString := 'UZU'; // Das setzt den Wert für Parameter 'pvorgang' // Params.Items[0].AsString := 'UZU'; // Das würde den Wert für den ersten Parameter setzen Open; end; end; |
Re: SQL Abfrage in Abhängigkeit von einem Quoted String
Hi Stefan,
zu dem Punkt warum sie als CHAR definiert sind kann ich dir nur sagen das es mir leider so vorgegeben ist und das ich dies es nicht ändern kann. Das mit dem Params könnte man natürlich noch mit einpflegen, trotzdem beantwortet das noch nict wirklich meine Frage. Mfg Manu |
Re: SQL Abfrage in Abhängigkeit von einem Quoted String
Zitat:
Wenn Du nach zwei (oder mehr) Feldern filtern möchtest dann musst Du diese in deinem WHERE-Abschnitt mit einem AND verknüpfen.
SQL-Code:
Für deine erste Abfrage könnte es dann so gehen:
SELECT * FROM tabelle WHERE (a = 1) AND (b = 2)
Delphi-Quellcode:
with IBQuery3 do
begin // Summe ZU berechnen SQL.Text := 'SELECT SUM(menge) FROM listedza ' + #10#13 + ' WHERE (vorgang = :pvorgang) AND (id = :pid) AND (chargennr = :pchargennr)'; ParamByName('pvorgang').AsString := 'UZU'; ParamByName('pid').AsString := TeilenrE.Text; ParamByName('pchargennr').AsString := 'blubb'; Open; summeZu := Fields[0].AsInteger; Close; . end; |
Re: SQL Abfrage in Abhängigkeit von einem Quoted String
HI Stephan,
erstmal sorry, dass ich deinem Namen falls geschrieben habe.Zweitens danke für deine Hilfe funzt einwandfrei. :angel: Mfg Manu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:11 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 by Thomas Breitkreuz