Datenbank: MYSQL • Version: 5.5.15 • Zugriff über: libmysql.dll
Fehler Meldung vom Demo Datenbank Beispiel ???
Hallo Zusammen
Ich hab mir das Tutorial von http://www.michael-puff.de/Programmi...phi/Tutorials/ runtergeladen und wollte mir anschauen wie der Aufbau ist. Leider kommt immer eine Fehlermeldung beim Programm wenn ich eine Funktion bestätige. Fehlermeldung: Im Projekt AdressDBSQL.exe ist eine Exception der Klasse EAccessViolation mit der Meldung "Zugriffsverletzung bei Adresse 100047CA in Modul "libmysql.dll" Lesen von adresse 00000358 aufgetreten. Kann mir jemanden bei dieser Fehlermeldung weiterhelfen, was mache ich falsch ? gruß stephan |
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Kleiner Tipp, guck dir mal an, was in der Variablen Filename drin steht. Und dann guck mal, ob die Datei existiert. :? Es ist eben nur eine Demo. Dui solltest dich mal mit dem Debugger vertraut machen, dann hättest du den Fehler von alleine gefunden.
|
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
also ich habe jetzt filename mit dem genauen Ziel ergänzt.
jetzt bekomme ich aber diese einen Stop bei dieser zeile:
Delphi-Quellcode:
procedure TForm1.btnInsertClick(Sender: TObject);
var Kontakt: TKontakt; query: string; Cols: TCols; Rows: TRows; begin with Kontakt do begin Name := edtName.Text; Vorname := edtVorname.Text; Strasse := edtStrasse.Text; PLZ := StrToInt(edtPLZ.Text); Ort := edtOrt.Text; Telefon1 := edtTele.Text; Telefon2 := edtHandy.Text; EMail1 := edtMail.Text; end; [COLOR="Red"] if Insert(Kontakt) then[/COLOR] <<<< Hier bleibt Delphi stehen :( begin query := 'SELECT * FROM kontakte ORDER BY name, vorname'; log(query); ExecQuery(DBNAME, query, Cols, Rows); FillGrid(StringGrid1, Cols, Rows); end else log(mysql_error(Descriptor)); end; |
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Was heißt stehen bleibt?
Und bitte benutze die Code-Tags, dann wird das ganze lesbarer. |
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Liste der Anhänge anzeigen (Anzahl: 2)
Also wenn ich den Button Importieren drücke passiert folgende Fehlermeldung (siehe Anhang).
Kann es sein das ich MySQL 5... benutze und nicht wie im Demo 4.1 ?
Delphi-Quellcode:
procedure Import(const Filename: string);
var sl: TStringList; i: Integer; StringArray: TStringDynArray; Kontakt: TKontakt; begin StringArray := nil; sl := TStringList.Create; try sl.LoadFromFile('C:\Users\Stephan\Desktop\AdressDBSQL\Adressen.csv'); for i := 1 to sl.Count - 1 do begin StringArray := Explode(';', sl.Strings[i]); with Kontakt do begin // Name;Vorname;Strasse;PLZ;Ort;Land;Telefon1;Telefon2;Fax;EMail1; // EMail2;URL;GebDat;Firma;Position Name := StringArray[0]; Vorname := StringArray[1]; Strasse := StringArray[2]; PLZ := StrToIntDef(StringArray[3], 0); Ort := StringArray[4]; Telefon1 := StringArray[6]; Telefon2 := StringArray[7]; Fax := StringArray[8]; EMail1 := StringArray[9]; EMail2 := StringArray[10]; Url := StringArray[11]; GebDat := StringArray[12]; Firma := StringArray[13]; end; Insert(Kontakt); end; <<< Wenn ich auf anhalten drücke zeigt mir Delphi diese Stelle Rot Markiert finally FreeAndNil(sl); end; end; |
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Er bekommt keine Verbindung zur Datenbank, weil der Descriptor nil ist. Ich weiß aber nicht warum.
Hier
Delphi-Quellcode:
schlägt es fehl. Danach ist der Descriptor nil und somit schlägt dann das Insert auch fehl.
function Connect(Descriptor: PMYSQL; const Host, User, PW, DB: string; Port:
Integer): PMYSQL; begin result := mysql_real_connect(Descriptor, PChar(Host), PChar(User), PChar(PW), PChar(DB), PORT, nil, 0); end; |
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
mmm... dann werde ich mal in dieser nacht versuchen den fehler zu finden ... danke Lucky
|
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
kannst du mal das demo programm bei dir ausprobieren, ob es bei dir läuft ?
|
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Das mache ich schon die ganze Zeit, sonst wüsste ich nicht, wo der Fehler liegt.
|
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Fehler gefunden: LIBMYSQL_INCOMPATIBLE = 2; // A DLL was found but it is not compatible
Und das bei Delphi 7 und Windows XP. |
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Hallo Lucky ..
ich hab Delphi 2010 prof ... und Windows 7 ... bedeutet das, dass es auch bei mir nicht geht :wall: |
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Debugg doch das ganze mal! Wenn du an der Stelle in der mysql.pas:
Delphi-Quellcode:
den Staus Code 2 bekommst dann ja. Aber mich wundert das bei mir etwas. Allerdings, glaube ich, ich habe das damals mit D6 unter Windows2000 entwickelt.
function libmysql_load(name: pChar): byte;
procedure assign_proc(var proc: FARPROC; name: pChar); begin proc := GetProcAddress(libmysql_handle, name); if proc = nil then libmysql_status := LIBMYSQL_INCOMPATIBLE; end; begin libmysql_free; if name = nil then name := 'libmysql.dll'; libmysql_handle := LoadLibrary(name); if libmysql_handle = 0 then libmysql_status := LIBMYSQL_MISSING else begin libmysql_status := LIBMYSQL_READY; assign_proc(@mysql_num_rows, 'mysql_num_rows'); assign_proc(@mysql_num_fields, 'mysql_num_fields'); // [..] assign_proc(@mysql_thread_safe, 'mysql_thread_safe'); end; Result := libmysql_status; end; |
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
bekomme sofort beim debugen die fehlermeldung ???
|
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Mal ne ganz andere Frage:
Ich vermute mal, dass du da eine CSV Datei mit Adressen in den MySQL Server pusten möchtest. Warum so umständlich? MySQL kann so eine CSV in einem Rutsch einlesen und gut. |
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Danke für deinen Tip :thumb:
aber unser problem ist, dass wir keine verbindung zur datenbank bekommen. du kannst uns ja gerne helfen, dass die demo auch auf neuere systeme läuft. http://www.michael-puff.de/Programmi...lphi_Demos.zip ich würde mich freuen, wenn du die antwort für uns hast :cyclops: |
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Zitat:
Delphi-Quellcode:
Result := mysql_real_connect(...);
if not Assigned(Result) then raise Exceoptopn.Create(mysql_error...(...)); // irgendwo sollten diese lib ja die zugehörige Fehlermeldung liefern |
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Könnte das evtl. noch mit Unicode zusammenhängen?
|
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Nein. Bei mir Mit Delphi 7 funktioniert es auch nicht (mehr*).
*) Es hat ja mal funktioniert, allerdings mit Delphi 6 und unter Windows XP. Kann auch sein, dass ich damals eine andere DLL hatte, weil ich sie irgendwie zwischenzeitlich mal verloren hatte oder so. Und warum so umständlich? Weil es eine Demo für eine MySQL Datenbank ist. @maxcom24: Was für Code meinst du (siehe PN)? Ich habe hier nur den Code aus der mysql.pas und meinem Programm gepostet, um zu zeigen, wo der Fehler im Programm ist. Von einer Lösung habe ich nie etwas geschrieben. |
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Zitat:
Das umständlich bezog sich aber mehr darauf, dass maxcom24 versucht eine CSV-Datei aufzudröseln in einen Record schiebt und dann an mysql übergibt. Dafür gibt es in mysql einen Einzeiler und die gesamte CSV-Datei ist im Sack (gut, die Zeile ist sehr lang ... aber es bleibt ein Einzeiler) ;) Das ist nicht nur vom ansteuern einfach ... sondern auch Hölle-schnell Irgendwie habe ich doch auch im Kopf, das er eigentlich die MyDAC-Konponenten benutzt Warum dann also generell dieser insgesamt umständliche Weg? :gruebel: |
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Das weiß ich nicht. Aber im Moment scheint er sich mit nacktem MySQL zu beschäftigen und hat dazu mein Demo hervorgekramt. Und vergess einfach, das es eine CSV Datei ist, darum geht es nicht.
|
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Zitat:
|
AW: Fehler Meldung vom Demo Datenbank Beispiel ???
Richtig, ich beschäftige mich nur mit dem MySql von der Demo, und da hab ich das problem gehabt, dass das Demo Programm nicht lief, und daraus würde dieser Thread so lang :(
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:54 Uhr. |
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