AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Operation muss eine aktualisierbare Abfrage verwenden?
Thema durchsuchen
Ansicht
Themen-Optionen

Operation muss eine aktualisierbare Abfrage verwenden?

Ein Thema von Gambit · begonnen am 21. Sep 2003 · letzter Beitrag vom 22. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#1

Operation muss eine aktualisierbare Abfrage verwenden?

  Alt 21. Sep 2003, 12:25
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:
with ADODataSet1 do begin
          Close;
          CommandText:= 'INSERT INTO `tbl_blah` '+
                        '(`blahNr`, `blahblahNr`)'+
                        ' VALUES '+
                        '( '''+ UserProfile.UserId +''', '''+blahStr+''')';

          Open;
Was muss ich denn ändern? Brauch ich noch ne Update Anweisung?

Gruß

Gambit
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: Operation muss eine aktualisierbare Abfrage verwenden?

  Alt 21. Sep 2003, 13:21
Hai Gambit,

das geht mit einem ADODataSet nicht.

Zitat von OnlineHilfe (AKA F1):
Die Datenmenge wird mit Hilfe der Eigenschaft CommandText des TADODataSet-Objekts abgerufen. Weisen Sie dieser Eigenschaft den betreffenden Tabellennamen oder eine SQL-Anweisung (nur SELECT) zu. Mit der Datenmengenkomponente können nur DDL-Befehle (Data Description Language = Datendefinitionssprache) ausgeführt werden, die eine Ergebnismenge zurückliefern. Für SQL-Anweisungen wie DELETE, INSERT und UPDATE sind Komponenten wie TADOCommand oder TADOQuery besser geeignet.
Du must deine Insert, Update Anweisungen also mit ADOQuery machen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#3

Re: Operation muss eine aktualisierbare Abfrage verwenden?

  Alt 21. Sep 2003, 13:34
Aha! Danke!

Gambit
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#4

Re: Operation muss eine aktualisierbare Abfrage verwenden?

  Alt 21. Sep 2003, 13:42
Hmm, habe das ADODataSet durch eine ADOQuery ersetzt, bekomme aber die gleiche Meldung....

Gruß

Gambit
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: Operation muss eine aktualisierbare Abfrage verwenden?

  Alt 21. Sep 2003, 13:50
Zitat von Gambit:
Hmm, habe das ADODataSet durch eine ADOQuery ersetzt, bekomme aber die gleiche Meldung....
Zeige mal den Code.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#6

Re: Operation muss eine aktualisierbare Abfrage verwenden?

  Alt 21. Sep 2003, 14:01
Also im Moment sieht er so aus:

Delphi-Quellcode:
with ADOQuery1 do begin
          //Close;
          SQL.Text := 'INSERT INTO tbl_reserv '+
                        '(''KundenNr'',''FilmNr'')'+
                        ' VALUES '+
                        '('''+UserProfile.UserId+''', '''+FilmStr+''')';

          ExecSQL;
          //Open;
        end;
Gruß

Gambit
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: Operation muss eine aktualisierbare Abfrage verwenden?

  Alt 21. Sep 2003, 14:03
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
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#8

Re: Operation muss eine aktualisierbare Abfrage verwenden?

  Alt 21. Sep 2003, 14:11
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
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Operation muss eine aktualisierbare Abfrage verwenden?

  Alt 21. Sep 2003, 21:01
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+')';
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#10

Re: Operation muss eine aktualisierbare Abfrage verwenden?

  Alt 22. Sep 2003, 15:06
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:22 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