Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zugriffsverletzung bei INSERT (https://www.delphipraxis.net/34936-zugriffsverletzung-bei-insert.html)

null.L.F. 30. Nov 2004 13:25


Zugriffsverletzung bei INSERT
 
Hallo,

ich beschäftige mich seit montag mit MySQL und hab ein kleines Test-Prog unter Delphi, mit dem ich ein paar Queries ausführen kann..

dazu nutze ich zeos 6.0.12 und folgende prozedur:
Delphi-Quellcode:
  with ZConnection do
  begin
    HostName := Trim(HostnameMaskEdit.Text);
    Port    := StrToInt(Trim(PortMaskEdit.Text));
    User    := Trim(UserNameMaskEdit.Text);
    Password := Trim(PasswordMaskEdit.Text);
    Database := Trim(DatabaseMaskEdit.Text);
    Connect;
  end;
  with ZQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Text := 'INSERT INTO department (id_dep, dep_name, dep_shname, dep_address) VALUES (1,''name1'', ''short1'', ''hierundda'')';
    Open;
  end;
Wie ihr seht geb ich mein query als literal an. SHOW TABLES und SELECT ... funktionieren einwandfrei, nur dieses INSERT krieg ich nicht zum laufen.

Der Fehler lautet wie folgt:
Zitat:

Zugriffsverletzung bei Adresse <blabla> in Modul "SQLtest.exe" Lesen von Adresse 00000000.
Bissl Erfahrung mit Delphi hab ich schon: Für mich hört sich das danach an, als hätte ich irgendwas nicht instanziert, nur was?
Interessant ist auch, dass er, wenn ich mir die Datenbank anschaue, das Query ausgeführt hat! die daten befinden sich in der tabelle. Trotzdem kommt bei "open;" der fehler.

ich komm nicht drauf... :gruebel: :gruebel: Hilfe!!

jim_raynor 30. Nov 2004 13:29

Re: Zugriffsverletzung bei INSERT
 
Musst du bei INSERT/UPDATE/DELETE und ähnlichem nicht Execute verwenden? :gruebel: Problem ist doch, dass ein Insert keine Ergebnismenge zurückgibt.

Orbmu2k 30. Nov 2004 13:31

Re: Zugriffsverletzung bei INSERT
 
Du hast bestimmt nen Grid oder sowas an der Query (bzw .Datasource)

Dann kann er natülich ohne Erbenis nix finden ;-)

dann mach anstatt


Delphi-Quellcode:
  with ZQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Text := 'INSERT INTO department (id_dep, dep_name, dep_shname, dep_address) VALUES (1,''name1'','short1'',''hierundda'')';
    Open;
  end;
das mit ExecSQL

Delphi-Quellcode:
  with ZQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Text := 'INSERT INTO department (id_dep, dep_name, dep_shname, dep_address) VALUES (1,''name1'','short1'',''hierundda'')';
    ExecSQL;
  end;

null.L.F. 30. Nov 2004 13:35

Re: Zugriffsverletzung bei INSERT
 
also mach ich .OPEN wenn ich ein ergebnis erwarte, wenn nicht dann EXEC?

funzt einwandfrei, danke :mrgreen: :cyclops: :spin2:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz