AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Query dynamisch erzeugen?
Thema durchsuchen
Ansicht
Themen-Optionen

Query dynamisch erzeugen?

Ein Thema von mjenke · begonnen am 14. Apr 2003 · letzter Beitrag vom 14. Apr 2003
Antwort Antwort
mjenke

Registriert seit: 28. Mär 2003
Ort: Bonn
131 Beiträge
 
#1

Query dynamisch erzeugen?

  Alt 14. Apr 2003, 08:24
Hi, alle miteinander!

Vielleicht weiss von Euch jemand Rat...

Ich habe eine Klasse für den Zugriff auf eine Datenbank geschrieben. Logischerweise brauche ich eine TQuery-Komponente, wenn ich meine SQL-Statements absetzen möchte. Mein Problem ist jetzt, dass ich diese TQuery-Komponente gerne innerhalb der Klasse dynamisch erzeugen möchte. Bisher ist es so gelöst, dass ich grundsätzlich als ersten Parameter meiner Methoden ein Query-Objekt aus dem Formular übergebe, das die Klasse benutzt. Das heisst, meine Methodendeklarationen sind alle nach nachfolgendem Muster aufgebaut:

Code:
Methodenname(Query: TQuery; Restliche Parameter);
Ich denke, der Konstruktor meiner Klasse sollte eine interne Query-Komponente erzeugen, aber das bekomme ich nicht hin.
Wäre klasse, wenn mir jemand auf die Sprünge helfen könnte...


Matthias
Matthias Jenke
  Mit Zitat antworten Zitat
rossmann

Registriert seit: 10. Apr 2003
Ort: Bergkamen
9 Beiträge
 
#2
  Alt 14. Apr 2003, 08:43
Hallo

vieleicht hilft dir diese procedure etwas weiter
hier wird ein TQuery dynamisch erzeugt.

var SQL1 : TQuery;
TS : TStringList;
begin
TS := TStringList.Create;
try
SQL1 := TQuery.Create(Self);
try
SQL1.DatabaseName := 'DatabaseName';
SQL1.SQL.Add('select * from bybk0300 where');
SQL1.SQL.Add(' BK3BKNR=' + BKNR);
SQL1.SQL.Add(' and BK3STOR=' + STOR);
SQL1.SQL.Add(' and BK3POSN=' + POSN);
SQL1.SQL.Add(' and BK3TBER=''' + TBER + '''');
SQL1.SQL.Add(' and BK3WJHR=''' + WJHR + '''');
SQL1.Open;
TS.Clear;
while not SQL1.Eof do
begin
TS.Add(SQL1.FieldByName('BK3TEXT').AsString);
SQL1.Next;
end;
RESULT := TS;
finally
SQL1.Free;
end;
finally
TS.Free;
end;
end;
  Mit Zitat antworten Zitat
mjenke

Registriert seit: 28. Mär 2003
Ort: Bonn
131 Beiträge
 
#3
  Alt 14. Apr 2003, 10:20
Hallo rossmann,

danke für den Tip. Hat wunderbar funktioniert. Ich weiss noch nicht, was ich gestern anders gemacht habe, aber bei dem

Code:
SQL1 := TQuery.Create(self);
hat es bei mir gestern unhandled exceptions geregnet. Naja, jetzt klappt's. Muss gestern doch irgendwie Mist gemacht haben...


Matthias
Matthias Jenke
  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 06:58 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