![]() |
Frage zu AdoDataset. Commandtext
Hallo,
hab da mal eine kleine Frage: Ist es eigentlich möglich auf Commandtext von ADODataset genauso zuzugreifen, wie das bei SQL von TQuery geht. D.H. zeilenweise darauf zuzugreifen. So z.B.:
Delphi-Quellcode:
Da man ja in dem Commandtext-Editor von ADODataset ja auch Zeilenumbrüche machen kann, müsste das doch auch irgendwie gehen.
query.sql.strings[1]:= sqlstring;
query.sql.strings[2]:= sqlstring; query.sql.strings[3]:= sqlstring; [edit=sakura] Leerzeichen in Titel gedrückt. Mfg, sakura[/edit] |
Re: Frage zu AdoDataset.Commandtext
Hallo Biohazard,
muß das nicht
Delphi-Quellcode:
heißen?
query.sql.add (sqlstring);
query.sql.add (sqlstring); query.sql.add (sqlstring); |
Re: Frage zu AdoDataset. Commandtext
Hi,
ein CommandText ist immer ein String - der kann natürlich auch Zeilenumbrüche enthalten. Um darauf in Form einer StringList zuzugreifen müsste man es einer zuordnen
Delphi-Quellcode:
Obwohl das die Mühe vielleicht gar nicht lohnt ist das wohl die einzige Möglichkeit - so weit ich weiß
//schnipp
var sl : TStrings; begin sl:=TStringList.Create; AdoDataSet1.CommandText:='select * from mytable'; sl.Text:=AdoDataSet1.CommandText; sl.Add('where ID=44'); AdoDataSet1.CommandText:=sl.Text; sl.Free; end; //schnapp Ciao Marco |
Re: Frage zu AdoDataset. Commandtext
@r_kerber
so wie du es schreibst wird immer eine Zeile hinzugefügt. Mit
Delphi-Quellcode:
greift man auf eine bestimmte Zeile zu. So könnte man während der Laufzeit mal schnell die WHERE oder ORDER BY Bedingung ändern.
query.sql.strings[X]:= sqlstring;
@MarcoWarm Ja. Sitmmt. Der Aufwand ist da wohl zu groß. Müsste man sowas halt doch mit einer ADOQuery lösen. |
Re: Frage zu AdoDataset. Commandtext
Wenn du eine StringList unter PRIVATE/PUBLIC des Forms deklarierst, kannst du sie wie die SQL-Property einer ADOQuery nutzen.
Vor dem Ausführen noch ein...
Delphi-Quellcode:
... fertig.
ADOCommand.CommandText := CommList.Text;
Diese Zeilenbasteleien sind aber nicht nur unübersichtlich im Code, sie sind auch fehleranfällig. (Weißt du auch noch in 2 Wochen, dass du das SQL-Statement auf keinen Fall anders formatieren/umschreiben darfst?) Teile die Statements einfach von Anfang an in Abfrage und Where-clause auf, dann sind dir auch die Zeilen vollkommen egal. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 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