![]() |
Datenbank: Firebird • Version: 1.6 • Zugriff über: ZEOS 6.1.5
ZEOS: MySQL Fehler ausgeben lassen?
Gibt es eine Möglichkeit, an den direkten Verursacher einer Exception ranzukommen? Ich habe nun eine Datenbank erstellt und teste gerade einen CREATE TABLE Befehl. Da ist aber ein Fehler drin, nur welcher, das wüsste ich gerne. Bei PHP benutze ich dann immer mysql_error(), da steht dann sowas drin.
|
Re: ZEOS: MySQL Fehler ausgeben lassen?
sowas? :-D
Delphi-Quellcode:
try
Query.ExecSQL; except on e:Exception do ShowMessage(e.Message); end; |
Re: ZEOS: MySQL Fehler ausgeben lassen?
Ja sowas ;) Danke!
Wo wir schon dabei sind... was stimmt hier nicht?
Delphi-Quellcode:
Er meckert danach mit Fehlernr. -104, Token unknown und invalid Token...
ZQuery1.SQL.Clear;
ZQuery1.SQL.Add('CREATE TABLE protokolle ('+ 'id INT NOT NULL PRIMARY_KEY, '+ 'basetype VARCHAR(64) NOT NULL, '+ 'source VARCHAR(128) NOT NULL, '+ 'member MEDIUMTEXT NOT NULL, '+ 'distribution MEDIUMTEXT NOT NULL, '+ 'nextdate INT NOT NULL'+ ');'); ZQuery1.ExecSql; |
Re: ZEOS: MySQL Fehler ausgeben lassen?
Hast du die Query mit ner TZConnection verbunden?
Er muss ja wissen win welche DB er das schreiben soll :zwinker: BTW: ich würd das so machen: [quote="JPSelter"]
Delphi-Quellcode:
quote]
ZQuery1.SQL.Clear;
ZQuery1.SQL.Add('CREATE TABLE IF NOT EXISTS protokolle ('+ 'id INT NOT NULL AUTO_INCREMENT, '+ 'basetype VARCHAR(64) NOT NULL, '+ 'source VARCHAR(128) NOT NULL, '+ 'member MEDIUMTEXT NOT NULL, '+ 'distribution MEDIUMTEXT NOT NULL, '+ 'nextdate INT NOT NULL, '+ 'PRIMARY KEY(id));'); ZQuery1.ExecSql; was soll eigentlich in die MEDIUMTEXT-Felder rein? ich nehm für längere Texte immer BLOB |
Re: ZEOS: MySQL Fehler ausgeben lassen?
In das Feld soll eine Liste von Personennamen rein, TEXT ist mir da zu lang, und VARCHAR zu kurz. Oder gibts da was geeigneteres für?
Ich habe mal klein angefangen, und endlich einen Befehl erfolgreich abgeschickt:
Delphi-Quellcode:
Füge ich nun PRIMARY_KEY oder IF NOT EXISTS hinzu, meckert er, dass er das alles nicht kennen würde. Wieso?
ZQuery1.SQL.Text:='CREATE TABLE test ('+
'id INT NOT NULL, '+ 'id2 INT'+ ')';
Delphi-Quellcode:
Machts eigentlich einen Unterschied, ob ich .SQL.Add oder .SQL.Text benutze?
ZQuery1.SQL.Text:='CREATE TABLE IF NOT EXISTS test ('+
'id INT NOT NULL PRIMARY_KEY, '+ 'id2 INT'+ ')'; |
Re: ZEOS: MySQL Fehler ausgeben lassen?
Zitat:
|
Re: ZEOS: MySQL Fehler ausgeben lassen?
Hmm.. in der Überschrift steht das du mit MySQL arbeitest un in deinem ersten Post steht was von Firebird.. mit was arbeitest du denn nu? :gruebel:
|
Re: ZEOS: MySQL Fehler ausgeben lassen?
Also ich verstehe das so:
Delphi->ZEOS->Firebird Embedded Server->MySQL ;) |
Re: ZEOS: MySQL Fehler ausgeben lassen?
Zitat:
|
Re: ZEOS: MySQL Fehler ausgeben lassen?
Zitat:
mit Delphi -> ZEOS -> MySQL-Server sollte es gehn aber Firebird hat da nix zu suchen |
Re: ZEOS: MySQL Fehler ausgeben lassen?
Vielleicht liegt das Missverständnis in meinen Worten "mySQL"... vielleicht sollte ich es "SQL" nennen. Ich lasse im Applikationsverzeichnis den Firebird Embedded Server laufen, auf den werden die Daten gespeichert, mit SQL-Befehlen, die über ZEOS laufen. ICH bin hier der N00b der nichts weiss ;)
|
Re: ZEOS: MySQL Fehler ausgeben lassen?
Zitat:
|
Re: ZEOS: MySQL Fehler ausgeben lassen?
Wenn das so ist..
Also wenn ich dich recht verstanden hab bist du mit der Firebird-DB verbunden.Richtig? D.h. du hast eine TZConection auf deinem Formular bei der die Eigenschaft "Connected" den Wert "True" hat. Ausserdem hast du eine TZQuery-Komponente bei der unter "Connection" die TZConnection-Komponente eingetragen ist. Richtig? dann musst du dir jetzt einmal die Firebird-Doku anschauen und schauen welche Datentypen Firebird akzeptiert, denn "SQL <> SQL". Edit: Naja das hat an sich ja nichts mit dem Embedded Server zu tun.. ich hab hier im lokalen Firmennetzwerk einen MySQL Server laufen auf den alle Mitarbeiter bzw. die Programme hier zugreifen, das könntest du bei dir ja auch machen. |
Re: ZEOS: MySQL Fehler ausgeben lassen?
Jepp, soweit war ich. Funktionierte soweit, bis auf die speziellen Befehle. Am besten gehts nun im anderen Thread hier weiter.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 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-2025 by Thomas Breitkreuz