AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Frage zu AdoDataset. Commandtext
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu AdoDataset. Commandtext

Ein Thema von Biohazard · begonnen am 2. Mär 2004 · letzter Beitrag vom 2. Mär 2004
Antwort Antwort
Biohazard

Registriert seit: 20. Mär 2003
46 Beiträge
 
#1

Frage zu AdoDataset. Commandtext

  Alt 2. Mär 2004, 08:03
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:
query.sql.strings[1]:= sqlstring;
query.sql.strings[2]:= sqlstring;
query.sql.strings[3]:= sqlstring;
Da man ja in dem Commandtext-Editor von ADODataset ja auch Zeilenumbrüche machen kann, müsste das doch auch irgendwie gehen.

[edit=sakura] Leerzeichen in Titel gedrückt. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#2

Re: Frage zu AdoDataset.Commandtext

  Alt 2. Mär 2004, 08:17
Hallo Biohazard,

muß das nicht
Delphi-Quellcode:
query.sql.add (sqlstring);
query.sql.add (sqlstring);
query.sql.add (sqlstring);
heißen?
  Mit Zitat antworten Zitat
Benutzerbild von MarcoWarm
MarcoWarm

Registriert seit: 10. Sep 2003
Ort: Großhennersdorf
532 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

Re: Frage zu AdoDataset. Commandtext

  Alt 2. Mär 2004, 08:42
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:
//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
Obwohl das die Mühe vielleicht gar nicht lohnt ist das wohl die einzige Möglichkeit - so weit ich weiß

Ciao

Marco
Marco Warm
  Mit Zitat antworten Zitat
Biohazard

Registriert seit: 20. Mär 2003
46 Beiträge
 
#4

Re: Frage zu AdoDataset. Commandtext

  Alt 2. Mär 2004, 09:11
@r_kerber

so wie du es schreibst wird immer eine Zeile hinzugefügt.
Mit
query.sql.strings[X]:= sqlstring; greift man auf eine bestimmte Zeile zu. So könnte man während der Laufzeit mal schnell die WHERE oder ORDER BY Bedingung ändern.


@MarcoWarm
Ja. Sitmmt. Der Aufwand ist da wohl zu groß. Müsste man sowas halt doch mit einer ADOQuery lösen.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#5

Re: Frage zu AdoDataset. Commandtext

  Alt 2. Mär 2004, 10:23
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...
  ADOCommand.CommandText := CommList.Text; ... fertig.
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.
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:38 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