Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Fehler Meldung vom Demo Datenbank Beispiel ??? (https://www.delphipraxis.net/162761-fehler-meldung-vom-demo-datenbank-beispiel.html)

maxcom24 4. Sep 2011 22:50

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

Luckie 4. Sep 2011 23:07

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.

maxcom24 4. Sep 2011 23:20

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;

Luckie 4. Sep 2011 23:29

AW: Fehler Meldung vom Demo Datenbank Beispiel ???
 
Was heißt stehen bleibt?

Und bitte benutze die Code-Tags, dann wird das ganze lesbarer.

maxcom24 4. Sep 2011 23:42

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;

Luckie 4. Sep 2011 23:45

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:
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;
schlägt es fehl. Danach ist der Descriptor nil und somit schlägt dann das Insert auch fehl.

maxcom24 4. Sep 2011 23:52

AW: Fehler Meldung vom Demo Datenbank Beispiel ???
 
mmm... dann werde ich mal in dieser nacht versuchen den fehler zu finden ... danke Lucky

maxcom24 5. Sep 2011 00:01

AW: Fehler Meldung vom Demo Datenbank Beispiel ???
 
kannst du mal das demo programm bei dir ausprobieren, ob es bei dir läuft ?

Luckie 5. Sep 2011 00:07

AW: Fehler Meldung vom Demo Datenbank Beispiel ???
 
Das mache ich schon die ganze Zeit, sonst wüsste ich nicht, wo der Fehler liegt.

Luckie 5. Sep 2011 00:17

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48 Uhr.
Seite 1 von 3  1 23      

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