Toon posts:

[ASP}] Debuggen van probleem, kom er niet uit!

Pagina: 1
Acties:
  • 45 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een probleem met het INSERTEN van een rij in Access database.

Als ik bv. via get-methode bepaalde velden wil vullen, krijg ik de volgende melding in IE;

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.
/insert_artikel.asp, line 18

Wanneer ik ff Response.Write strSQL doe krijg ik deze query;

INSERT INTO tblArtikelen(Omschrijving,Prijs, Plaatjes, Categorie, GebruikersNaam) VALUES ('Fiets3 (via web)',80,'fiets3.jpg','Fietsen','Uphoff')

Voer ik deze query in Access uit wordt netjes nieuwe rij toegevoegd!!!!
Alleen de Kolommen "Plaatjes_lengte & Plaatjes_breedte" heb ik niet in query gegooid, deze zijn niet required in Access. Dat lijkt mij het probleem dus niet.

ASP-code;

<%
If Session("GebruikersNaam") = "" Then
Response.Write("Voor deze functie dient u eerst in te loggen.<br>")
Server.Transfer("loginform.html")
Else
Dim conn, rs

Set conn=Server.CreateObject("ADODB.Connection")
Call conn.Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("./Secure/SuccosDB.mdb"),,16)

strSQL="INSERT INTO tblArtikelen(Omschrijving,Prijs, Plaatjes, Categorie, GebruikersNaam) VALUES ('" & Request.Querystring("Omschrijving") & "'," & _
Request.Querystring("Prijs") & ",'" & _
Request.Querystring("Plaatjes") & "','" & _
Request.Querystring("Categorie") & "','" & _
Session("GebruikersNaam") & "')"
conn.Execute strSQL
'Response.Write strSQL
conn.close

Server.Transfer("zoekform_artikel.asp")
End IF
%>

Ik er niet uit wat er fout gaat; query is goed en wordt via Acces zelf netjes in DB gegooid :'(

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Je moet zorgen voor schrijfrechten op de .mdb file, dit is een erg bekend probleem.

[google=operation must be an updatable query]

Oops! Google Chrome could not find www.rijks%20museum.nl


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Bovendien kun je beter even nadenken over SQL-injectie. Je propt nu alles wat je van de gebruiker binnen krijgt zo in je query, niet echt veilig. :) Ik geloof dat je dat in Access/ASP op kan lossen met stored procedures.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Nme, Het is maar voor school!!!! Boeit niet echt. Ze verlangen alleen dat de code ook echt werkt.

Maar als je een betere oplossing heb, hoor ik het graag!
Iig is het probleem opgelost dmv. ff security voor mijn mdb-file ff ook voor IIS te laten schrijven en executen.

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:40
-NMe- schreef op zaterdag 19 maart 2005 @ 14:18:
Bovendien kun je beter even nadenken over SQL-injectie. Je propt nu alles wat je van de gebruiker binnen krijgt zo in je query, niet echt veilig. :) Ik geloof dat je dat in Access/ASP op kan lossen met stored procedures.
Stored Procedures in Access ? Dat wil ik nog wel eens zien. :)

Om SQL injection te voorkomen heb je geen SP's nodig, gewoon gebruik maken van parameters in je queries ipv ze op te bouwen dmv string concatenation is al voldoende.

https://fgheysels.github.io/


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
whoami schreef op zaterdag 19 maart 2005 @ 22:11:
[...]


Stored Procedures in Access ? Dat wil ik nog wel eens zien. :)

Om SQL injection te voorkomen heb je geen SP's nodig, gewoon gebruik maken van parameters in je queries ipv ze op te bouwen dmv string concatenation is al voldoende.
Nou, een beetje. Je kunt iets doen als

MyConnection.Execute ("EenQuery", parameter1, parameter2)
Nme, Het is maar voor school!!!! Boeit niet echt. Ze verlangen alleen dat de code ook echt werkt.
Zo kom je er wel....

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Topicstarter
P_de_B schreef op zondag 20 maart 2005 @ 10:25:
[...]


Nou, een beetje. Je kunt iets doen als

MyConnection.Execute ("EenQuery", parameter1, parameter2)


[...]

Zo kom je er wel....
Nou, dat zou mijn instelling ook niet zijn. Echter we leren echt totaal niets van zo'n vak als IntBs2 waar gewoon voorbeelden uit het boek dienen worden overgetokkeld EN leerproces zo tot " Een aap leert een trucje niveau" wordt teruggebracht. Mijn stijl is syntax leren, heb ik nou helaas geen tijd voor mbt. studiedruk.

Ik wil best ASP leren, echter in 6 weken kan men denk ik niet een hele webshop met alle functionaliteiten in elkaar bouwen. Deeltijdopleiding is gewoon concessies doen.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Verwijderd schreef op zondag 20 maart 2005 @ 10:42:
Nou, dat zou mijn instelling ook niet zijn. Echter we leren echt totaal niets van zo'n vak als IntBs2 waar gewoon voorbeelden uit het boek dienen worden overgetokkeld EN leerproces zo tot " Een aap leert een trucje niveau" wordt teruggebracht. Mijn stijl is syntax leren, heb ik nou helaas geen tijd voor mbt. studiedruk.

Ik wil best ASP leren, echter in 6 weken kan men denk ik niet een hele webshop met alle functionaliteiten in elkaar bouwen. Deeltijdopleiding is gewoon concessies doen.
Als je zo te werk gaat, dan is het inderdaad zo dat je niets leert. Scholen gaan er ook van uit dat je op eigen houtje nog wat verder werkt, en zelf dingen uitvindt/uitzoekt. Als je dat niet wil doen, jouw probleem. Maar als je het fout blijft doen, dan wordt het dat straks wel...
whoami schreef op zaterdag 19 maart 2005 @ 22:11:
Stored Procedures in Access ? Dat wil ik nog wel eens zien. :)
Stored Procedures...Parametrized Queries...geen verschil. :+

[ Voor 13% gewijzigd door NMe op 20-03-2005 12:05 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:52

gorgi_19

Kruimeltjes zijn weer op :9

Dit staat ook in de ASP-FAQ beschreven :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.