Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TQuery --> SQL BEfehler ausführen --> Fehler (https://www.delphipraxis.net/60109-tquery-sql-befehler-ausfuehren-fehler.html)

Christian18 3. Jan 2006 12:12

Datenbank: Access • Version: 2000 • Zugriff über: BDE

TQuery --> SQL BEfehler ausführen --> Fehler
 
Hallo,

ich versuche mit einer TQuery Komponente SQL Befehle Auszuführen. Ich versuche eine Tabelle in eine DB zu erstellen. Das machen ich so
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
          Query1.Active:=False;
          Query1.DatabaseName:='Christian';
          Query1.SQL.Clear;
          Query1.SQL.Add('CREATE TABLE Hallo2');
          Query1.SQL.Add('(');
          Query1.SQL.Add('Idx Integer');
          Query1.SQL.Add(')');
          Query1.Active:=True;
end;
Die Tabelle wird auch in der DB erstellt, aber es kommt trotzdem eine Fehlermeldung.

Fehler: Fehler beim erstellen der Cursor-Handle.

DelphiAndreas 3. Jan 2006 12:16

Re: TQuery --> SQL BEfehler ausführen --> Fehler
 
so mal völlig ins blaue reingedacht: wie ist es mit ExecSQL?

Christian18 3. Jan 2006 12:21

Re: TQuery --> SQL BEfehler ausführen --> Fehler
 
Zitat:

Zitat von DelphiAndreas
so mal völlig ins blaue reingedacht: wie ist es mit ExecSQL?

ich verstehe jetzt nicht was du meinst. kannst du das nochmal ein bisschen erläutern???

mfg christian18

Der Jan 3. Jan 2006 12:26

Re: TQuery --> SQL BEfehler ausführen --> Fehler
 
Nachdem du die Parameter für die Query gesetzt hast, mußt du sie mit ExecSQL ausführen...

Und was für eine Fehlermeldung kommt?

Christian18 3. Jan 2006 12:27

Re: TQuery --> SQL BEfehler ausführen --> Fehler
 
Zitat:

Zitat von Der Jan
Nachdem du die Parameter für die Query gesetzt hast, mußt du sie mit ExecSQL ausführen...

Und was für eine Fehlermeldung kommt?

hi,

hier der fehler hatte ich oben aber schon geschrieben:

Fehler: Fehler beim erstellen der Cursor-Handle.

Christian18 3. Jan 2006 12:29

Re: TQuery --> SQL BEfehler ausführen --> Fehler
 
[quote="Christian18"]
Zitat:

Zitat von Der Jan
Nachdem du die Parameter für die Query gesetzt hast, mußt du sie mit ExecSQL ausführen...

Und was für eine Fehlermeldung kommt?


Hi,

wenn ich

Query1.ExecSQL;

mache, dann kommt kein Fehler. --> funktioniert danke. Kann ich so auch eine Access DB erstellen??? wenn ja wie???

Der Jan 3. Jan 2006 12:37

Re: TQuery --> SQL BEfehler ausführen --> Fehler
 
Ups. Fehler hatte ich irgendwie übersehen.

Bin mir nicht sicher, ob man mit nem Query eine DB erstellen kann, da das Teil ja an ne DB gebunden ist. (Blöd ausgedrückt, ich weiß :) )
Probier doch einfach mal "CREATE DATABASE..." und die entsprechenden Parameter (User, PW, Charset, etc.) für Access-DB.

Christian18 3. Jan 2006 12:45

Re: TQuery --> SQL BEfehler ausführen --> Fehler
 
Zitat:

Zitat von Der Jan
Ups. Fehler hatte ich irgendwie übersehen.

Bin mir nicht sicher, ob man mit nem Query eine DB erstellen kann, da das Teil ja an ne DB gebunden ist. (Blöd ausgedrückt, ich weiß :) )
Probier doch einfach mal "CREATE DATABASE..." und die entsprechenden Parameter (User, PW, Charset, etc.) für Access-DB.

wie ist dann der sql befehl um eine access db zu erstellen???
mfg christina18

Der Jan 3. Jan 2006 13:00

Re: TQuery --> SQL BEfehler ausführen --> Fehler
 
z.b. so:

SQL-Code:
SET SQL DIALECT 3;

SET NAMES ISO8859_1;

CREATE DATABASE 'C:\Database\Repa\REPA1.FDB'
USER 'username' PASSWORD 'passwort'
PAGE_SIZE 4096
DEFAULT CHARACTER SET ISO8859_1;
Ist allerdings für ne Firebird-DB. Wie es bei Access genau aussieht, weiß ich auch nicht, aber so ähnlich sollte es es sein :)

blablab 3. Jan 2006 13:14

Re: TQuery --> SQL BEfehler ausführen --> Fehler
 
Ich würde einfach die Komponente TTable nehmen.
Da kannst du dann im Objektinspektor alles einstellen, was für ne Tabelle du willst und wie die aussehen soll.
wenn du das gemacht hast benutzt du einfach den befehl
Delphi-Quellcode:
Table1.CreateTable;
diese Tabelle wird dann erstellt und du kannst dann auch mit SQL mit der arbeiten.


Z.B das in die eigenschaft TQuery1.SQL reinschreiben:

SELECT
...

FROM
"Tabellenname"

WHERE
...


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:26 Uhr.
Seite 1 von 2  1 2      

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