Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Query --> Tabellenverbindung ? (https://www.delphipraxis.net/65995-query-tabellenverbindung.html)

Vader 23. Mär 2006 10:06

Datenbank: Paradox • Version: 7 • Zugriff über: TQuery

Query --> Tabellenverbindung ?
 
hallo,

ich hab mit ttable eine kleine datenbank programmiert, nur die grundsachen,zur verständniss,
jetzt möchte ich die gleiche datenbank mit tquery coden, und hab schon die ersten probleme

bei der ttable habe ich vorher in der datenbankoberfläche eine paradoxtabelle erstellt und abgespeichert
(zb.adressen.db), dann habe ich die eigenschaft tablename von ttable auf adressen.db eingestellt im
objektinspektor und auch die datasourcekomponente brauchte ich für die datenbank

so wie geht das mit der tquerykomponente,
1.ich finde keine eigenschaft wo ich auf adressen.db einstellen kann ?
2. brauche ich auch die datasourcekomponente ?

mfg vader

Sharky 23. Mär 2006 10:11

Re: Query --> Tabellenverbindung ?
 
Hai Vader,

ich muss zugeben das ich mit Paradox nichts mache. Aber ich gehe mal davon aus das Paradox keine Datei pro Tabelle erzeugt sondern das in dieser Datei alle Tabellen der Datenbank stehen.

Du musst also zuerst eine Verbindung zu Datenbank schaffen (TDataBase) und dann dein Query mit dieser Verbinden.

mkinzler 23. Mär 2006 10:23

Re: Query --> Tabellenverbindung ?
 
Zitat:

Zitat von Sharky
Aber ich gehe mal davon aus das Paradox keine Datei pro Tabelle erzeugt sondern das in dieser Datei alle Tabellen der Datenbank stehen.

Es sind sogar mehrere Dateien pro Tabelle.

Zitat:

Du musst also zuerst eine Verbindung zu Datenbank schaffen (TDataBase) und dann dein Query mit dieser Verbinden.
Oder in Eigenschaft .TDatabasename den Pfad angeben.

Vader 23. Mär 2006 10:43

Re: Query --> Tabellenverbindung ?
 
frage 1 ok
frage 2 brauche ich auch eine datasourcekomponente ?
mfg vader

mquadrat 23. Mär 2006 10:51

Re: Query --> Tabellenverbindung ?
 
Wenn du das Ergebnis der Query in nem Grid anzeigen willst oder DB-Edits dranhängen willst: Ja.

Vader 23. Mär 2006 11:05

Re: Query --> Tabellenverbindung ?
 
hallo,

habe in der eigenschaft TDatabasename den pfad angegeben,wo meine datenbank liegt aber wenn ich die eigenschaft
active auf true setzen will vom query kommt die fehlermeldung von der BDE :

"ungültiges verzeichniss"

bei ttable hat das immer gefunzt !
mfg vader

mkinzler 23. Mär 2006 11:33

Re: Query --> Tabellenverbindung ?
 
Hast du es mal mit einem BDE-Alias versucht?

Vader 23. Mär 2006 14:08

Re: Query --> Tabellenverbindung ?
 
hab mal in der hilfe nachgeschaut, versteh das aber nicht

das habe ich rausgefunden:
Zum Beispiel benutzt die folgende Anweisung AddStandardAlias dazu, einen neuen Aliasnamen für den Zugang zu einer Paradox-Tabelle zu erstellen:
Delphi-Quellcode:
AddStandardAlias('MYDBDEMOS', 'C:\TESTING\DEMOS\', 'Paradox');
meine paradoxtabelle liegt auf c:\Test\adressen.db

was soll ich tun ????
mfg vader

Vader 23. Mär 2006 14:43

Re: Query --> Tabellenverbindung ?
 
hallo,
hab jetzt bei der eigenschaft TDatabasename DBDEMOS eingegeben und siehe da die fehlermeldung:

"ungültiges verzeichniss" kommt nicht mehr jetzt kommt die fehlermeldung:


Delphi-Quellcode:
Query1:Keine SQL-Anweisung verfügbar
mfg vader

Vader 23. Mär 2006 17:13

Re: Query --> Tabellenverbindung ?
 
hallo,
hab mal in der hilfe gelesen unter tquery und da fand ich die eigenschaft: SQL
und die hilfe schreibt:

Zitat:

Die Eigenschaft SQL enthält den Text der SQL-Anweisung für die Abfrage.
Mit der Eigenschaft SQL können Sie auf folgende Tabellen bzw. Datenbanken zugreifen:

Paradox- und dBASE-Tabellen, mit Hilfe des lokalen SQL. Die zulässige Syntax ist eine Untermenge von SQL 92. In der Hilfe zu Local SQL finden Sie Informationen zu der unterstützten Syntax.
ich bin schon am verzweifeln, was muß ich dort reinschreiben das ich endlich eine verbindung zur meiner tabelle bekomme ?

mfg vader

mkinzler 23. Mär 2006 17:19

Re: Query --> Tabellenverbindung ?
 
Einfach

SQL-Code:
select * from <tabellenname>;
Wobei <tabellenname> der name der Tabelle ist.
z.B.

SQL-Code:
select * from adressen;

Vader 23. Mär 2006 18:12

Re: Query --> Tabellenverbindung ?
 
hallo,

super,danke, endlich geschafft, jetzt möchte ich schon meinen ersten eintrag machen

bei ttable geht ja das so , neuer eintrag :

Delphi-Quellcode:
table1.append;
neuen eintrag abspeichern:

Delphi-Quellcode:
table1.post;
wie geht das mit tquery ??
mfg vader

mkinzler 23. Mär 2006 18:17

Re: Query --> Tabellenverbindung ?
 
Entweder durch extra Queries für INSERT/UPDATE/DELETE oder mit einem UpdateObjekt.

Dafür benötigst du eine Komponente vom Typ TUpdateSQL. Diese verbindest du mit Hilfe der Eigenschaft .UpdateObject mit dem Query. Nun kannst du durch Doppelklick darauf, dir die DML-Skripts erzeugen lassen.
Ist das geschehen kannst du wie bisher mit
Delphi-Quellcode:
Query.Insert/Query.Post;
ändern.

Vader 23. Mär 2006 18:57

Re: Query --> Tabellenverbindung ?
 
wahnsinn,
das ist ja viel komplizierter als ttable !!!

Zitat:

Diese verbindest du mit Hilfe der Eigenschaft .UpdateObject mit dem Query. Nun kannst du durch Doppelklick darauf, dir die DML-Skripts erzeugen lassen.
die zwei komponenten habe ich verbunden, aber wo muß ich doppelklicken das die skripts erzeugt werden
und möchte so wie in ttable ein buttonklickereigniss
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
table1.append;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
table1.post;
end;

das ist zum haare raufen mfg vader

mkinzler 23. Mär 2006 19:14

Re: Query --> Tabellenverbindung ?
 
Zitat:

die zwei komponenten habe ich verbunden, aber wo muß ich doppelklicken das die skripts erzeugt werden
Auf das TUpdateSQL.
Zitat:

und möchte so wie in ttable ein buttonklickereigniss
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
    query1.append;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    query1.post;
end;

Vader 23. Mär 2006 19:34

Re: Query --> Tabellenverbindung ?
 
hallo,

ja, das funzt, aber er speichert mir keine daten mit:
Delphi-Quellcode:
query1.post;
wenn ich query1.append ausführe, sehe ich die neuen daten in der DBGrid, aber in der tabelle werden sie
mit query1.post nicht gespeichert ?
mfg vader

mkinzler 23. Mär 2006 19:44

Re: Query --> Tabellenverbindung ?
 
Was steht in der Eigenschaft .InsertSQL des UpdateSQL ?

Vader 23. Mär 2006 19:57

Re: Query --> Tabellenverbindung ?
 
Delphi-Quellcode:
insert into adressen
  (Nachname, Vorname)
values
  (:Nachname, :Vorname)
mfg vader

mkinzler 23. Mär 2006 20:10

Re: Query --> Tabellenverbindung ?
 
Ic habe mir grad nohmal die Delphireferenz durchgelesen, und habe gelesen das ein Updateobkekt bei Paradox bei einfachen Select-Queries (auf eine Tabelle beschränkt) nicht notwendig ist, wenn .RequestLive auf true steht. Sonst muß .RequestLive auf False gesetzt werden.

Vader 23. Mär 2006 20:20

Re: Query --> Tabellenverbindung ?
 
zuerst danke für deine bemühungen,
habe es mit true und mit false probiert, er speichert die daten nicht
mfg vader


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:59 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