AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi EAccess Violation mit ZeosDBO beim einfügen & löschen
Thema durchsuchen
Ansicht
Themen-Optionen

EAccess Violation mit ZeosDBO beim einfügen & löschen

Ein Thema von FoxtheFox · begonnen am 22. Apr 2004 · letzter Beitrag vom 23. Apr 2004
Antwort Antwort
FoxtheFox

Registriert seit: 10. Sep 2003
10 Beiträge
 
Delphi 4 Standard
 
#1

EAccess Violation mit ZeosDBO beim einfügen & löschen

  Alt 22. Apr 2004, 10:47
Hallo zusammen,
folgendes Problem:

Ich habe eine Verbindung mit den ZEOSDBO Komponenten zu einer MySQL DB
hergestellt. Nutze dafür: Concetion, Datasource, und eine Query.

Die Verbindung und das Anzeigen etc. von Daten klappt auch wunderbar.


Wenn ich einen neuen Datensatz einfüge, wird dieser auch korrekt eingefügt,
ich erhalte jedoch sofort die Fehlermeldung:

EAccess Violation Error, Zugriffsverletzung bei Adresse XYZ in Modul "Programmname"
Lesen von Adresse 0000000. Programm wurde angehalten....


Das Programm bleibt dann hier stehen (Unit ZPlainMySQLDriver):

function TZMySQL323PlainDriver.GetRowCount(Res: PZMySQLResult): Int64;
begin
Result := ZPlainMySql323.PMYSQL_RES(Res).row_count;
end;


Beim löschen eines Datensatzes ist es genau das gleiche Problem.

Ich nutze Delphi4 Standard mit den ZEOSDBO Komponenten 6.012.stable


Kennt jemand das Problem vielleicht und kann mir einen Tip geben woran es liegt?

Danke für die Infos im Voraus!

TheFox
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: EAccess Violation mit ZeosDBO beim einfügen & lösche

  Alt 22. Apr 2004, 11:02
Hai FoxtheFox,

wie fügst Du denn die Daten ein? Ich nutze die selbe Zeos-Version und habe keine Problem.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
FoxtheFox

Registriert seit: 10. Sep 2003
10 Beiträge
 
Delphi 4 Standard
 
#3

Re: EAccess Violation mit ZeosDBO beim einfügen & lösche

  Alt 22. Apr 2004, 13:30
Also, ich nutze fplgende Anweisungen:

INSERT INTO kundendb VALUES=(...)

oder

DELETE FROM kundendb WHERE KndNR=xyz

Eigentlich ganz einfache Anweisungen. Sie werden ja auch ohne
SQLFehler übertragen. Das ist ja das Merkwürdige.

Gruß
TheFox
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#4

Re: EAccess Violation mit ZeosDBO beim einfügen & lösche

  Alt 22. Apr 2004, 14:28
Arbeitest Du mit einem DB-Grid oder so etwas?
Ich glaube da hatte ich auch mal probleme (setzt dieses Dinger eh nicht mehr ein).
Wenn ja: Mache mal ein .Refrech nach deinem ExecSQL.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
FoxtheFox

Registriert seit: 10. Sep 2003
10 Beiträge
 
Delphi 4 Standard
 
#5

Re: EAccess Violation mit ZeosDBO beim einfügen & lösche

  Alt 22. Apr 2004, 15:28
ja, ich nutze ein DBGrid Plus.
Werd das mit dem Refresh nach dem Execute mal probieren.
Nur wie lääst Du dir die Daten denn anzeigen,
wenn Du kein DBGrid mehr verwendest?
  Mit Zitat antworten Zitat
FoxtheFox

Registriert seit: 10. Sep 2003
10 Beiträge
 
Delphi 4 Standard
 
#6

Re: EAccess Violation mit ZeosDBO beim einfügen & lösche

  Alt 22. Apr 2004, 16:42
Hi,
hab es jetzt hinbekommen, ohne Fehler.

Daten abfragen mit Select... klappt wie folgt:

SQL_Kunden_ReadOnly_Query.Active:=false;
SQL_Kunden_ReadOnly_Query.SQL.clear;
SQL_Kunden_ReadOnly_Query.SQL.Add('SELECT * FROM kunden ORDER BY Name');
SQL_Kunden_ReadOnly_Query.Active:=true;

Klappt so einwandfrei.

SQL_Kunden_Query.SQL.Clear;
SQL_Kunden_Query.SQL.Add('DELETE FROM kunden where KndNR=11');
SQL_Kunden_query.ExecSQL;

So funzt es jetzt ohne fehler beim löschen oder einfügen.

Aber wo ist denn der Unterschied zwischen Query.Active:=true bzw. Query.ExecSQL??

Gruß
TheFox
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: EAccess Violation mit ZeosDBO beim einfügen & lösche

  Alt 23. Apr 2004, 05:08
Zitat von FoxtheFox:
..Aber wo ist denn der Unterschied zwischen Query.Active:=true bzw. Query.ExecSQL...
Hai,

Query.Active := True oder Query.Open wird verwendet wenn dein SQL-Befehl eine Ergbnissmenge hat (SELECT)
Query.ExecSQL wird verwendet wenn der Befehl keine Ergbnissmenge hat (INSERT,UPDATE,DELETE usw.)

Ich lasse mir die Daten entweder in einem StringGrid oder einer ListView anzeigen die ich selber fülle.
Da bin ich wesentlich flexibler als mit einem DBStrinGrid.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
FoxtheFox

Registriert seit: 10. Sep 2003
10 Beiträge
 
Delphi 4 Standard
 
#8

Re: EAccess Violation mit ZeosDBO beim einfügen & lösche

  Alt 23. Apr 2004, 09:24
Hi,
dann haben wirs ja schon.

Ich habe alles mit Query.active=true gemacht.
Und schon tritt der Fehler EAccessViolation bei mir auf.

Dann haben wir das ja geklärt. Danke für die Hilfe.

Gruß
TheFox
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:02 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