Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Datenbanktabelle ansprechen
Frage
Hallo,
ich versuche vergebens ein Script aus einem ASP-Buch zum Laufen zu kriegen. Es geht um das Hinzufügen von Produkten zu einer Produkttabelle. Dafür habe ich genau wie im Buch beschrieben eine kleine Access-Datenbank angelegt und eine System-DSN erstellt. Die Produkttabelle in der Datenbank hat folgende Felder: product_id, product_name und product_price. Das Script lautet:
<%
Set Con = Server.CreateObject( "ADODB.Connection" )
Con.open "accessDSN"
productName = "Gift Basket"
productPrice = 34.54
sqlString = "INSERT INTO Products ( product_name, product_price ) " &_
"values ( '" & productName & "', " & productPrice & " )"
Con.Execute sqlString
Con.Close
%>
Als Fehlermeldung erscheint:
Microsoft OLE DB Provider for ODBC Drivers-Fehler '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Anzahl der Abfragewerte und Zielfelder stimmt nicht überein.
/testallgemein/asp/buchsteuer/page_53.asp, Zeile 9
Was ist denn damit gemeint? Es sind doch alle Felder im Script angegeben?
Antwort 1 von Cloud_X
Ist nur ein kleiner aber bedeutender Fehler!
Du hast zwei mal ' vergessen!
Falsch:
Richtig:
Du hast zwei mal ' vergessen!
Falsch:
"', " & productPrice & " )"Richtig:
"', '" & productPrice & "')"
<%
Set Con = Server.CreateObject( "ADODB.Connection" )
Con.open "accessDSN"
productName = "Gift Basket"
productPrice = 34.54
sqlString = "INSERT INTO Products ( product_name, product_price ) " &_
"values ( '" & productName & "', '" & productPrice & "')"
Con.Execute sqlString
Con.Close
%>
Antwort 2 von cocokatz
Hallo Cloud X,
vielen Dank für Deinen Tipp.
Die beiden ' ' stehen im Buch-Script nicht, habe Sie trotzdem mal eingebaut. Leider hat sich nur die Fehlermeldung geändert: "Operation muss eine aktualisierbare Abfrage verwenden."
Das sagt mir leider auch nichts. Was ist damit gemeint?
vielen Dank für Deinen Tipp.
Die beiden ' ' stehen im Buch-Script nicht, habe Sie trotzdem mal eingebaut. Leider hat sich nur die Fehlermeldung geändert: "Operation muss eine aktualisierbare Abfrage verwenden."
Das sagt mir leider auch nichts. Was ist damit gemeint?
Antwort 3 von Cloud_X
Habe es gerade mal bei mir getestet. Das Script funzt ganz normal....
Schick mir doch mal Deine DB per eMail (M-Biermann@web.de)
Schick mir doch mal Deine DB per eMail (M-Biermann@web.de)
Antwort 4 von Cloud_X
Das mit "Operation muss eine aktualisierbare Abfrage verwenden" kann verschiedene Ursachen haben!
Es kann z.B. sein, dass die DB schreibgeschützt ist. Rechte Maustaste "schreibgeschützt" .....
Oder:
was wahrscheinlicher ist, dass der User für den anonymen Zugriff auf den Webserver keine Schreibberechtigung für die Datei hat!
Es kann z.B. sein, dass die DB schreibgeschützt ist. Rechte Maustaste "schreibgeschützt" .....
Oder:
was wahrscheinlicher ist, dass der User für den anonymen Zugriff auf den Webserver keine Schreibberechtigung für die Datei hat!

