Einzelnen Beitrag anzeigen

blackfin
(Gast)

n/a Beiträge
 
#20

AW: Insert in Zeos mit mehr als 24 Feldern

  Alt 30. Mai 2011, 22:45
Jetzt bin ich doch etwas verwundert, wieso geht dein Testprojekt dann bei mir mit der gleichen SVN-Zeos-Version und D2009?

Ich habe wie gesagt bei mir aufgrund der fehlenden Komponente nur die TAdvDatetimePicker durch hardgecodete daten ersetzt:
Delphi-Quellcode:
// statt
dm1.q_kunden_insert.ParamByName('Geburtstag').AsDate := dtp_geburtstag.Date;
//halt einfach
dm1.q_kunden_insert.ParamByName('Geburtstag').AsDate := StrToDate('31.12.1899');
Sonst keine Veränderungen am Code.
Auskommentiert habe ich auch nichts, es werden ja schon 25 Params in deinem Testcode übergeben.

Zum Testen habe ich in deinem Programm den Button "N" gedrückt (wohl "neuer Datensatz") und dann auf "S" (wohl "speichern" ).
Da gab es keinerlei Exceptions und die Daten waren auch danach in der DB (nachgeschaut mit phpMyAdmin).
Im zweiten Test habe ich vor dem Drücken von "S" noch in jedes Feld etwas reingeschreiben (auch ein evtl. "böses" single quote)
Auch dieser Datensatz war ohne Exception danach korrekt in der DB.

Als Test-Datenbank hatte ich eine mySQL 5.5 von ner Xampp-Version für Windows (XP).

Wo liegt jetzt noch der Unterschied?....ausser D2010...das habe ich zum Testen leider nicht.
Letzte Idee: deine libmysql50.dll ist möglicherweise eine zu alte / zu neue / falsche?
Wenn ich es richtig im Hinterkopf habe, gab es bei Zeos schon öfters mal merkwürdige Exceptions, wenn man die falsche dll verwendet hat.

Test 1:
Nimm erstmal die DLL aus deiner mySQL-Installation (liegt im /bin/-Ordner, musst du evtl. noch von libmysql.dll in libmysql50.dll oder libmysql55.dll umbenennen) und kopier diese in den Ordner deiner EXE. Dann starte das Projekt nativ ohne Debugger aus dem Ordner (damit er auch diese dll nimmt und nicht die, die die bds.exe / Delphi IDE zuerst gefunden hat).

Test 2:
Das gleiche wie oben, aber nimm testweise nacheinander die DLLs, die Zeos mitliefert (im lib/mysql/-Ordner), ausser die 4er DLLs.

Geändert von blackfin (30. Mai 2011 um 23:04 Uhr)
  Mit Zitat antworten Zitat