Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird + Zeos SQLException (https://www.delphipraxis.net/98392-firebird-zeos-sqlexception.html)

QuickNick 26. Aug 2007 18:00

Datenbank: Firebird Embedded • Version: 1.5.x • Zugriff über: Zeos

Firebird + Zeos SQLException
 
Hi,

ich wollte mich mal an Datenbanken versuchen, bekomme aber nichts über Delphi zum laufen.
Habe Delphi 7, ZEOSDBO-6.6.1-beta und Firebird-1.5.1.4481_embed_win32
Über die IBO Console komm ich an die Datenbank dran.

Wenn ich jetzt aber in Delphi mit diesem Code versuchen ein Table zu erstellen:

Delphi-Quellcode:
  ZQuery1.SQL.Text:='CREATE TABLE `adressbuch` ('+
                   '`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,'+
                   '`vorname` TEXT NOT NULL,'+
                   '`name` TEXT NOT NULL,'+
                   '`adresse` TEXT NOT NULL,'+
                   '`wohnort` TEXT NOT NULL,'+
                   '`plz` INT NOT NULL'+
                   ');';
  ZQuery1.ExecSql;
kommt diese SQL Exception:

Delphi-Quellcode:
SQL Error: Dynamic SQL Error SQL error code = -104 Token unknown - line 1, char 14 `.
Ich denke mal das liegt nur an meinen bescheidenen SQL Kenntnissen.^^
Ich habe auch schonmal die ` weggelassen -> das selbe nur jetzt mit adressbuch anstatt ` .

Ich hoffe mir kann jemand helfen.

greetz
Nick

mkinzler 26. Aug 2007 18:03

Re: Firebird + Zeos SQLException
 
Die Syntax autoincrement und text kennt FB nicht.

könnte man so lösen:
Delphi-Quellcode:
ZQuery1.SQL.Text:='CREATE TABLE `adressbuch` ('+
                   '`id` Integer NOT NULL PRIMARY KEY,'+
                   '`vorname` char(40) NOT NULL,'+
                   '`name` char(40) NOT NULL,'+
                   '`adresse` char(80) NOT NULL,'+
                   '`wohnort` char(20) NOT NULL,'+
                   '`plz` char(5) NOT NULL'+
                   ');';

QuickNick 26. Aug 2007 18:28

Re: Firebird + Zeos SQLException
 
ok danke funktioniert.. dann aber ohne die ` .. ich kannte vorher nur das zeichen ' was ich ja aber in delphi so nicht benutzen kann.. welches zeichen kann ich denn dafür nehmen?!?

mkinzler 26. Aug 2007 18:52

Re: Firebird + Zeos SQLException
 
Wenn du keine case sensitiven Felder haben willst kannst du diese weglassen, sonst verwende ".

Hansa 27. Aug 2007 00:10

Re: Firebird + Zeos SQLException
 
Warum wird kein anständiges DB-Admin Tool verwendet ? Bei FB würde sich IBExpert anbieten. Bzw., warum wird die Tabelle nicht zumindest mit IBOConsole angelegt und getestet ? Wozu braucht man da überhaupt ein Delphi Programm dazu ? Ich weiß, so was ist sehr beliebt. Überlege aber mal selber, ob es Sinn macht, das Rad mit Delphi neu zu erfinden. Die Mischung da ist sowieso etwas explosiv. Nimm doch wenigstens statt Zeos die IBX-Komponenten. Teste mit FB und nicht mit embedded. Ist die DB vorhanden, dann kann man immer noch auf embedded umstellen, bzw. nur die ausliefern.

mkinzler 27. Aug 2007 07:39

Re: Firebird + Zeos SQLException
 
Zitat:

Wozu braucht man da überhaupt ein Delphi Programm dazu ?
Warum den nicht. ich verwende zwar auch ein tool, aber es kann ja nicht schaden, wenn man die Syntax kennt.
Zitat:

Nimm doch wenigstens statt Zeos die IBX-Komponenten.
Warum IBX? Zeos ist mehr an FB angepasst als IBX!

Hansa 27. Aug 2007 08:14

Re: Firebird + Zeos SQLException
 
Zitat:

Zitat von mkinzler
..Warum IBX? Zeos ist mehr an FB angepasst als IBX!

Gut, vielleicht gehts, sogar IBX traue ich da immer noch mehr zu. Braucht er sich als Anfänger aber nicht große Gedanken drüber zu machen. Gibts da auch Script-Komponente ? Die sind für solche Vorhaben gedacht.

Zitat:

Zitat von QuickNick
...ich wollte mich mal an Datenbanken versuchen, bekomme aber nichts über Delphi zum laufen...

Dann lasse doch wenigstens die Finger von FB embedded. Selbst wenn das alles trotz IBOConsole und Zeos gehen könnte, das Programm könnte alleine schon deshalb scheitern, weil F9 gedrückt wird. Warum ? Es kann abstürzen, weil die erzeugte EXE auf die DB zugreift und in der IDE oder auch in IBOConsole ein Dataset noch geöffnet ist. FB embedded muss exklusiven Zugriff auf die DB haben. Das geht auch einwandfrei, aber doch nicht bei der Neuentwicklung eines Programmes und dann noch als Anfänger. Da läuft man dann womöglich noch Phantomfehlern nach, weil man 3 oder mehr Programme nicht sehr gut im Auge behalten kann.

mkinzler 27. Aug 2007 08:33

Re: Firebird + Zeos SQLException
 
Zitat:

Gibts da auch Script-Komponente ?
TZSQLProcessor


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