![]() |
Datenbank: SQLite • Zugriff über: ZEOSLib
Query Variable ??
Moin Moin
Ich will über ein SQL Statment eine Query öffnen und dann die datenstätze über eine Schleife durchgehen welchen Datentypen gibt es dafür ?? Ähnlich While not table.eof do begin table.next; end; lg, Ciam |
Re: Query Variable ??
Delphi-Quellcode:
Grüße
while not ZQuery1.Eof do
begin ... ZQuery1.Next; end; Mikhal |
Re: Query Variable ??
lach das weiss ich doch
ich meine eher sowas Table := ZQuery1; welchen daten typ hat bitte Table ?? ich muss doch mit der Query so handeln können, wie z.b. einer string variable. |
Re: Query Variable ??
ZQuery
Delphi-Quellcode:
Zugriff auf Felder des datensatzes über
ZQuery.SQL.Text := 'Select ...';
ZQuery.Open; ZQuery.First; while not ZQuery.Eof do begin .... ZQuery.Next; end;
Delphi-Quellcode:
( statt value auch asInteger, asString, usw) oder durch Anlage von datenbankzugriffsfelder in der IDE.
Zquery.FieldByName('<feldname>').Value;
Markus. (Mikhal war schneller!) |
Re: Query Variable ??
ahh dankeschön
zQuery das habe ich gesucht aber nochmal danke das du mir auch das andere geschrieben hast :) lg, Gigant |
Re: Query Variable ??
hmm hab ich mal wieder müll erzählt ich dumpfbacke
also ich suche eher sowas
Delphi-Quellcode:
naja ohne das ich eine Komponente vor der laufzeit auf die form ziehen muss das ich einfach jeder zeit überall in programmcode eine Query öffnen kann
var qKonten : zQuery;
begin qKonten.SQL.Text := 'Select ...'; qKonten.Open; end. ist sowas möglich ??? lg, Gigant |
Re: Query Variable ??
Delphi-Quellcode:
So müßte es funktionieren ( aber nicht getestet)
uses
... ZConnection, DB, ZAbstractRODataset, ZAbstractDataset; ... procedure TForm1.ButtonClick(Sender: TObject); var db: TZConnection; qKonten : TZQuery; begin DB := TZConnection.Create( Form1); db.Protocol := ... db.HostName := ... ... db.Connect; qKonten := TZQuery.Create( Form1); qKonten.Connection := db; ... end; |
Re: Query Variable ??
Ich würde aber zumindest die TZConnection auf einem Datenmodul einrichten und nur bei Programmstart connecten (blödes denglisch!). Die dynamisch erzeugten Queries sollten aber auf jeden Fall auch wieder freigegeben werden, sonst Leak!
|
Re: Query Variable ??
jup
ich habe auch eine zconcetion und will die nicht zur laufzeit erstellen nur die query lg, Gigant |
Re: Query Variable ??
qKonten : TZQuery;
kennt er bei mir nicht :( obwohl ich die ganzen uses drin habe :(( sagmal was für ein typ is den das ??? lg, Gigant |
Re: Query Variable ??
Die Komponente TZQuery lebt in der Unit ZDataSet.
Grüße vom marabu |
Re: Query Variable ??
Zitat:
die Klasse TZQuery ist bei den ZeosLib in der Unit ZDataSet deklariert. Diese musst Du also in deine Uses mit aufnehmen. [Edit] Der marabu war schon wieder schneller. Ich muss mal etwas einbauen das er nicht mehr posten kann währen ich etwas schreibe *g* |
Re: Query Variable ??
lach ja tue das
danke euch beiden ich schaue mir das mal an //************************************************** ***************** Edit juhu es klappt //************************************************** ***************** lach doch nicht ganz sorry aber ich bin zu dumm für die welt :) also ich habe mir das so gedacht das ich eine Query habe die ich nach belieben öffnen kann gut das ist das nicht das problem aber nun kommt das problem
Delphi-Quellcode:
also was habe ich eigentlich vor. ich will eine query mir zusammen basten die ich von überall öffnen und schliesen kann nun das ist wohl nicht so mein problem sondern erstmal eine quer öffnen und diese dann einfach übergeben das ist mein problem
procedure TfrmEinstellung.Button1Click(Sender: TObject);
var qKonten : tzQuery; begin DataModule.FrmDataModule.ExecQuery.SQL.Clear; DataModule.FrmDataModule.ExecQuery.SQL.Add('SELECT * FROM konten'); qKonten := DataModule.FrmDataModule.ExecQuery.Open; end; kann mir da mal einer zeigen wie ich das übergebe ?? lg, Gigant |
Re: Query Variable ??
Wenn Du den Query in einem Datenmodul hast brauchst du ihn nicht dynamisch in einer Procedure erzeugen dann reicht
Delphi-Quellcode:
Bei einem dynamsich erzeugten Query, befindet sich im DataModul nur eine TZConnection-Komponente mit dem Namen Conn, dann würde die Funktion so aussehen:
procedure TfrmEinstellung.Button1Click(Sender: TObject);
begin DataModule.FrmDataModule.ExecQuery.SQL.Clear; DataModule.FrmDataModule.ExecQuery.SQL.Add('SELECT * FROM konten'); DataModule.FrmDataModule.ExecQuery.Open; end;
Delphi-Quellcode:
procedure TfrmEinstellung.Button1Click(Sender: TObject);
var qkonen: TZQuery; begin qKonten := TZQuery.Create( TfrmEinstellung); qKonten.Connection := DataModule.FrmDataModule.Conn; qKonten.SQL.Clear; qKonten.SQL.Add('SELECT * FROM konten'); qKonten.Open; ... qKonten.Free; end; |
Re: Query Variable ??
hmm sehr gut ich probiere das mal weiter
danke erstmal soweit lg, gigant |
Re: Query Variable ??
Sehr gut ich habe es geschnallt
ich wünsche euch erstmal allen einen ganz ganz schönen sonntag lg, Gigant |
Re: Query Variable ??
so ich mal wieder
wenn ich das ganze jetzt in eine externe pas datei verfrachten will wie mache ich das
Delphi-Quellcode:
und dann überall diese pasdatei aufrufen will aber wie mache ich das ?? wenn ich keine form habe ???
{$X+}
unit DB_Tools; interface uses Windows, Messages, SysUtils, Variants, ZConnection, zDataSet, DB, ZAbstractRODataset, ZAbstractDataset, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; //############################################################################## function DB_OPEN(var qQuery : TzQuery; cSQL : String): Boolean; //############################################################################## implementation uses DataModule; function DB_OPEN(var qQuery : TzQuery; cSQL : String): Boolean; begin result := False; qQuery := TZQuery.Create(DB_tools); qQuery.Connection := DataModule.FrmDataModule.TableConnection; qQuery.SQL.Clear; qQuery.SQL.Add(cSQL); qQuery.Open; Result := True; end; //****************************************************************************** end. hmm ein neues rätzel von mir :) lg, Gigant |
Re: Query Variable ??
danke ich habe schon ich erstelle das ganze einfach auf den datenmodul :)
lach sorry ihr könnt weiterschlafen :) bis danne |
Re: Query Variable ??
Zitat:
2.) DB_OPEN aufrufen. Aber warum machst du das ganze so kompliziert? |
Re: Query Variable ??
wie denn sonst ??
also kennst mir gerne weitere wege zeigen :) ich will mir einfach tools zusammen basteln die ich einfach über die uses ansprechen kann hmm ja habe schon das problem gelöst :) aber dummerweise kann wohl sqlite kein sum !! weiss du darüber etwas bescheidt ?? lg, Gigant |
Re: Query Variable ??
Zitat:
Bsp. Aufruf deiner Funktion:
Delphi-Quellcode:
und ohne die Unit
uses ... ZDataSet, DBTools;
... function ... var ... query: TZQuery; begin ... if DB_Open ( query, 'select * from ...') then begin ... end; ... query.free; end;
Delphi-Quellcode:
uses ... ZDataSet;
... function ... var ... query: TZQuery; begin ... query.sql.text := 'select * from ...'; if query.open then begin ... end; ... query.free; end; Zitat:
P.S. firebird embedded wäre vielleicht eine Alternative. |
Re: Query Variable ??
jup genau so mache ich es ja
Delphi-Quellcode:
und binde einfach oben in den uses die unit ein :)
if DB_Open ( query, 'select * from ...') then
begin ... end; hmm schade das du dich damit nicht auskennt (SQLite) also es scheint mir so als wenn sich erst wenige damit eingearbeitet haben :( ich glaube ich werde mal alles aufschreiben was ich schon von SQLite weiss und versuche das hier anderen zur verfügung stellen hmm ja habe ich mir auch schon gedacht eine andere zunehemen aber das muss ja auch mit sqlite gehen und das andere läuft schon deswegen werde ich mich weiter damit beschäftigen lg, Gigant |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 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