![]() |
SQL Anweisung
Hi, benutze folgenden Code, leider geht dieser nicht, ich weiss aber soviel, dass es wohl an der Anweisung nach dem and liegt, wenn ich diese weglasse gehts.
Code:
Gruss
with Buchungen do
begin Sql.Clear; Sql.Add('Select * from Buchungen.db'); Sql.Add(' where Datum = ' + QuotedStr(DatetoStr(Datum)) +' and Typ = Irgendwas'); Sql.Add(' order by Name'); Execsql; Open; end; end; Nico |
ich meine anstatt Buchungen.db musst du den tabellennamen angeben
|
Daran liegts nicht, wie gesagt, ohne die And Anweisung gehts ja...
|
Dann lass mal das AND wech und ersetz es durch nen Komma
|
du musst deine einzelnen kriterien in klammern setzen
|
Servus,
mit dem Komma gehts auch nicht. Wie genau soll das denn mit den Klammern aussehen? Gruss Nico |
Re: SQL Anweisung
Möglichkeit A:
Code:
Oder falls das nicht klappt
with Buchungen do
begin Sql.Clear; Sql.Add('Select * from Buchungen.db'); Sql.Add(' where (Datum = ' + QuotedStr(DatetoStr(Datum)) +') and (Typ = Irgendwas)'); Sql.Add(' order by Name'); Execsql; Open; end; end; Möglichkeit B
Code:
Ich tendiere vom logischen her eher zu möglichkeit b :roll:
with Buchungen do
begin Sql.Clear; Sql.Add('Select * from Buchungen.db'); Sql.Add(' where (Datum = ' + QuotedStr(DatetoStr(Datum)) +' and Typ = Irgendwas)'); Sql.Add(' order by Name'); Execsql; Open; end; end; |
Hi,
daß da irgendwas überhaupt geht, wundert mich, ehrlich gesagt schon ! Ich vermisse da einiges! Gruß Hansa |
@Hansa,
wie würdest du es denn machen? Könntest du etwas Code posten? Gruss |
Zitat:
|
Re: SQL Anweisung
Hi,
Code:
Ich tendiere vom logischen her eher zu möglichkeit b :roll: Ich auch :!: ,aber wo ist denn die Möglichkeit ? Da stimmt schon wieder etwas mit den ' nicht. Eine Klammer ist auch zuviel. Wie willst Du so jemals compilierern ?
Sql.Add(' where (Datum = ' + QuotedStr(DatetoStr(Datum)) +' and Typ = irgendwas)');
Gruß Hansa |
möglichkeit B habe ich zum compilieren gebracht, abgesehen von der klammer, aber es ging trotzdem nicht
|
Typ schreibt man mit e am Schluß.
Gruß Hansa |
Typ ist ein Datenbankfeld !!
|
Hi,
Code:
Typ = irgendwas, das war das vermisste e von type. Vermute, daß bei "irgendwas" irgendwas :mrgreen: faul ist.
Sql.Add(' where (Datum = ' + QuotedStr(DatetoStr(Datum)) +' and Typ = irgendwas)');
Gruß Hansa |
Hallo,
das Problem liegt am Aufruf von ExecSQL vor Open. Es geht nur Entweder oder. Ein EXECSQL wird bei UPDATE, INSERT usw. aufgerufen. Wenn ich nur Daten aus einer Tabellen selektieren will, muss man Open benutzen. |
Probiers mal in diesem Stil :
Code:
Also :
RecDS.Active := false;
RecDS.SelectSQL.Text := 'SELECT R.*,A.* FROM REC8 R JOIN ART8 A ON A.ID = R.ID_ART)'+' WHERE R.ID_RECKOPF = ' + ReNrEdit.Text + '; RecDS.Active := true; end; 1. active auf false setzen 2. SQL-Anweisung zusammenbauen. 3. active auf true setzen Hierbei ist zu beachten : Ich mache das mit FIBplus-Komponenten. Ob es sonstwo in der Weise funktioniert, weiß ich nicht. Müßte aber auch gehen. zumindest FIBplus ist mit TdataSet kompatibel. Das SELECT kann natürlich auch einfacher sein. Gruß Hansa |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:29 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