![]() |
Operation muss eine aktualisierbare Abfrage verwenden?
Hallo!
Ich bekomme beim Versuch in eine Tabelle zu schreiben folgende Fehlermeldung im IEExlorer: "Operation muss eine aktualisierbare Abfrage verwenden" Wie muss ich denn das verstehen? Es handelt sich hier um eine ISAPI und ich wollte folgendes verwenden:
Delphi-Quellcode:
Was muss ich denn ändern? Brauch ich noch ne Update Anweisung?
with ADODataSet1 do begin
Close; CommandText:= 'INSERT INTO `tbl_blah` '+ '(`blahNr`, `blahblahNr`)'+ ' VALUES '+ '( '''+ UserProfile.UserId +''', '''+blahStr+''')'; Open; Gruß Gambit |
Re: Operation muss eine aktualisierbare Abfrage verwenden?
Hai Gambit,
das geht mit einem ADODataSet nicht. Zitat:
|
Re: Operation muss eine aktualisierbare Abfrage verwenden?
Aha! Danke!
Gambit |
Re: Operation muss eine aktualisierbare Abfrage verwenden?
Hmm, habe das ADODataSet durch eine ADOQuery ersetzt, bekomme aber die gleiche Meldung....
Gruß Gambit |
Re: Operation muss eine aktualisierbare Abfrage verwenden?
Zitat:
|
Re: Operation muss eine aktualisierbare Abfrage verwenden?
Also im Moment sieht er so aus:
Delphi-Quellcode:
Gruß
with ADOQuery1 do begin
//Close; SQL.Text := 'INSERT INTO tbl_reserv '+ '(''KundenNr'',''FilmNr'')'+ ' VALUES '+ '('''+UserProfile.UserId+''', '''+FilmStr+''')'; ExecSQL; //Open; end; Gambit |
Re: Operation muss eine aktualisierbare Abfrage verwenden?
Hmmm....
Sieht eigentlich ganz gut aus. Hast Du es auch mal mit Open/Close versucht? Aber einen Fehler sehe ich auf den ersten Blick nicht :oops: |
Re: Operation muss eine aktualisierbare Abfrage verwenden?
Ja, habe ich. Meine aber irgendwo gelesen zu haben, dass man das hier eigentlich nicht brauch. Kann es sein, dass die Datenbank nicht im wwroot Verzeichnis bzw in einem Unterverzeichnis darin liegen darf?
Soll ja ne Client-Server Anwendung werden. Oder darf man da gar kein TADOQuery benutzen? Ist übrigens ne Access DB. Gruß Gambit |
Re: Operation muss eine aktualisierbare Abfrage verwenden?
Hallo Gambit,
bei einem INSERT Statement muss man wie in deinem letzten Codeschnipsel immer mit ExecSQL und nicht mit Open arbeiten. Du kannst mit Access keine Client / Server Anwendung erstellen, da Access wie Paradox eine Desktopdatenbank ist. Sie sind zwar beide netzwerkfähig, sind aber keine SQL Server wie z.B. Interbase oder Oracle. In deinem SQL Statement dürfen die Feldnamen nicht in Anführungszeichen stehen. Werte dürfen nur dann in Anführungszeichen (einfache!) gesetzt werden, wenn es Strings sind.
Delphi-Quellcode:
SQL.Text := 'INSERT INTO tbl_reserv '
+'(KundenNr, FilmNr)' +' VALUES ' +'('+UserProfile.UserId +',' + FilmStr+')'; |
Re: Operation muss eine aktualisierbare Abfrage verwenden?
Tach,
mal abgesehen, dass die Syntax falsch war und es jetzt läuft(Danke!), warum kann ich denn keine Webserveranwendung schreiben, die serverseitig auf eine Access Datenbank zugreift? Also funzen tut das auf jeden Fall recht gut... Gruß Gambit |
Re: Operation muss eine aktualisierbare Abfrage verwenden?
Hallo Gambit,
ich habe Client / Server Anwendung als Datenbankanwendung verstanden, die einen Datenbank Server benutzt. Wenn du mit einem Webserver lokal auf eine Desktop Datenbank zugreifst, kann das natürlich funktionieren. Ich wollte nur erklären, das Access kein Datenbankserver ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 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 by Thomas Breitkreuz