Entwickler-Ecke
Datenbanken - Firebird SQL Problem
Matthias-K - Mi 27.04.05 10:09
Titel: Firebird SQL Problem
hi leutz,
ich habe diese thema bereits in einem anderen forum aufgegeben, aber es kam kein erfolg bei den angebrachten lösungsvorschlägen!
um aber alle möglichkeiten auszunutzen, möchte ich hier den link zu dem topic setzen, fals einer von euch noch ne idee hat, aber nicht in dem anderen forum vertreten ist!
http://www.dsdt.info/YaBBSe/index.php?board=2;action=display;threadid=25143
matthias
smiegel - Mi 27.04.05 10:20
Hallo,
anstatt einzelner Anführungszeichen, würde ich es mal mit doppelten versuchen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| with form1 do begin ZQuery1.SQL.Clear; ZQuery1.Text:='INSERT INTO Gastdb (Name) VALUES ("sdf")'; ZQuery1.ExecSQL; end; |
Matthias-K - Mi 27.04.05 10:38
resultat deines versuches:
column unknown sdf!
matthias
Lemmy - Mi 27.04.05 10:57
Hi Matthias,
dich habe ich total vergessen....
Wenn das Statement in einer Konsolenanwendung tut, dann liegt das Problem vermutlich an Zeos. Welche Version hast Du da? Wenn Du die aktuelle Version hast, kannst Du mir mal die Sourcen und die Datenbank zumailen?
Alternativen zu den kostenlosen Zeos gibt es kaum: Die UIB kosten zwar ncihts, sind aber noch nicht so weit wie Zeos, sind aber meiner Meinung nach sehr stabil. Alle anderen kosten Geld (IBObjects, FIBPlus).
Lemmy
hansa - Mi 27.04.05 11:15
Moin,
zuerst die Standardfrage : was ist aus Lemmys Vorschlag geworden, das Ganze mal in IBExpert zu testen ? 8)
So muß es prinzipiell aussehen :
Quelltext
1: 2:
| INSERT INTO Persons (LastName, Address) VALUES ('Rasmussen', 'Storgt 67') |
Beispiel ist von hier abgekupfert :
http://www.w3schools.com/sql/sql_insert.asp
Die Seite ist übrigens dringend als Nachschlagewert für Syntax usw. zu empfehlen !! Die nächste Frage ist, warum du das im Klartext schreibst ? Auch in Zeos dürfte das Dataset wissen, wie das Insert auszusehen hat. Insofern würde ein schlichtes
DS.Insert; ausreichen.
Lemmy - Mi 27.04.05 11:57
hansa hat folgendes geschrieben: |
zuerst die Standardfrage : was ist aus Lemmys Vorschlag geworden, das Ganze mal in IBExpert zu testen ? 8)
|
Mööönsch Hansa... hat er doch schon längst versucht: Hat auch geklappt... Außerdem habe ich empfohlen, das in ner Konsole zu machen, nicht speziell in IBExpert ;-)))
Ist aber schon seltsam... Entweder hat er ne alte Zeos-Version oder die haben da wirklich ne Macke....
Grüße
Lemmy
hansa - Mi 27.04.05 12:27
Da sieht man, was bei Cross-Postings rauskommt : kein Zusammenhang. 8) Ich suche mir doch nicht in 3 Foren ein und dieselbe Frage zusammen. :shock: IBexpert habe ich bewußt genannt, denn wenn da "always capitalize database names" angekreuzt ist, dann fällt zumindest ein möglicher Fehler mit Groß/Kleinschreibung raus. Daß die Zeos nichts taugen weiß ich auch. :mrgreen:
Matthias-K - Mi 27.04.05 15:16
den link hab ich gesetzt, um mehr leute zu ereichen!
tut mir leid, wenn ich damit verwirrung geschaffen habe!
aber um wieder auf das problem zu kommen:
ich hab den sql string in der iboConsole getestet! nocheinmal! er funktioniert!
dann hab ich diesen string 1 zu 1 in mein programm übernommen! es meckert wenigstens nicht mehr!!! alleridings ist der datensatz nicht in der tabelle drin!
Delphi-Quelltext
1: 2: 3: 4: 5:
| ZQuery1.SQL.Clear; ZQuery1.sql.Add('INSERT INTO GASTDB (Name, Vorname)'); ZQuery1.sql.Add('VALUES (''Test'', ''Test'')'); ZQuery1.ExecSQL; |
autocommit is auf true!
was mir aufgefallen ist, wenn ich in der iboconsole per sql dieses insert durchführe, muss ich für die entgültige übernahme noch so einen blöden button drücken!
allerdings kann ich diese nicht lesen, da ich die sprache ne kann! sie lautet:
| Zitat: |
Salva Dataset e salva e mantieni transazione corrente
|
irgendwas fehlt, das ich den datensatz irgendwie bestätigen muss! habs per manuellem commit versucht, aber ging auch nicht!
Lemmy - Mi 27.04.05 15:58
Die IBOConsole mag ein Commit im Script nicht so gerne wie ein Commit per Iconklick.
Hast Du die aktuelle Version von IBOConsole? Ich habe zumindest bei mir noch nie Probleme mit italienischen Fehlermeldungen gehabt....
Wenn Dein Proggy inzwischen nicht mehr meckert, dass der Datentyp falsch ist, ist doch schon mal was. Die Zeos unterstützen eigentlich einen automatischen Transaktionsmodus, aber nur, wenn Du die Transaktion nicht selbst startest, in diesem Fall musst Du sie auch wieder manuell beenden. Hast Du so was gemacht?
Lemmy
Matthias-K - Mi 27.04.05 16:04
ich hab ja kein commit im script! ich dachte nur, wenn man auf execute query in der iboconsole geht, das alle änderungen wirksam werden!
naja, mit diesem schönheitsfehler kann ich leben!
allerdings ist mir das aus meinem programm heraus noch ne so klar, warum er es nicht in die datenbank schreibt!
hab z.z. 2 datensätze in der db, und will den 3. anlegen, er meckert nicht, und ich freu mich schon fast das es geht, aber beim blick in die db kamen mir wiedereinmal die tränen! *g*
was meinst du mit transaktion starten und beenden?
Lemmy - Mi 27.04.05 16:32
machst Du irgend was in der Art:
Delphi-Quelltext
1:
| ZConnection1.StartTransaction; |
vor dem Ausführen der Query?
Lemmy
Matthias-K - Mi 27.04.05 16:35
kurz und knapp beantwortet: nein!
Lemmy - Mi 27.04.05 19:11
Die aktuellste Version der Zeos hast Du? Irgend was mit 6.5.1 stable...
Lemmy
Matthias-K - Do 28.04.05 08:56
ja, habe ich!
inclusive der beiden patches!
matthias
Matthias-K - Fr 29.04.05 13:52
hat denn niemand eine idee, was da falsch laufen könnte?
könnte ich was übersehen haben?
könnte die fehlermeldung, wenn ich über ein ztable gehe, die da kommt, aufschluss über das problem geben: datenmenge nur zum lesen! (oder so ähnlich, also ein fehler, das die datenmenge nur zum lesen ist)
matthias
Lemmy - Fr 29.04.05 14:50
Hi Michael,
ich weiß leider auch keinen Rat mehr, bis auf: schick mir die Datenbank und den Code, dann schaue ich den mir über WE an.
Lemmy
rkoch - Mi 25.05.05 11:30
Funktioniert es eventuell mit parambyname?
insert into table name1, name2 values(:name1,:name2);
parambyname('name1').asstring:='Wert'
Bei mysql hatte ich schon mal Probleme wegen dem Datentyp. So hatte es aber funktioniert.
Lemmy - Mi 25.05.05 11:40
Hi,
ich antworte jetzt einfach mal für Matthias:
Ich habe mir das Problem damals angeschaut und festgestellt, dass es keines war bzw. dass Matthias das Problem war ;-)) Hat sich also erledigt!
Lemmy
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!