Toon posts:

ASP syntax fout

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

Verwijderd

Topicstarter
Kheb een gewoon formuliertje aangemaakt waar een getal naar een database moet worden weggeshreven.

Heb een access database aangemaakt (data.mdb) en daar iedereen alle rechten opgegeven, nu heb ik dit als code staan voor ASP:

code:
1
2
3
4
5
6
7
8
9
10
11
dim intgetal

intgetal =cstr(request.form("getal"))

Set cnverbinding = Server.CreateObject("ADODB.Connection")
strverbindingsstring="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("data.mdb")
cnverbinding.Open strverbindingsstring

set rstuser = cnverbinding.execute("SELECT * FROM tbldata")
SQL="INSERT INTO tbldata(getal) VALUES("' & intgetal & '")"
set rstuser2 = cnverbinding.execute (SQL)


Hij geeft de fout:

code:
1
De instructie INSERT bevat een syntaxisfout.


Ik heb bij ("' & intgetal & "') de quotering al zeer vel aangepast, heb alle mogelijk combinaties met ' en " geprobeerd. Overal geeft hij dezelfde fout en bij ' alleen geeft hij fout dat gegevenstype niet overeenkomt maar dat komt denk ik omdat ' alleen voor een string is? In mijn databank is het veldje numeriek.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 23:33

gorgi_19

Kruimeltjes zijn weer op :9

SQL="INSERT INTO tbldata(getal) VALUES("' & intgetal & '")"

Sloop de single quote er eens helemaal uit

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Zoals ik al zei heb ik bij die quotering al alle mogelijke oplossingen geprobeert.

  • Skaah
  • Registratie: Juni 2001
  • Niet online
Kun je ook de inhoud van SQL even weergeven voordat je execute doet?

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

NMe

Quia Ego Sic Dico.

Syntax fouten zijn altijd door wat simpel debugwerk zelf op te lossen. Het is niet de bedoeling dat wij hier voor je gaan debuggen. Sterker nog, dat kunnen we niet, aangezien jij de applicatie hebt en kunt testen, en wij niet. Daarom gaat dit topic dan ook op slot.

Om te beginnen zijn inderdaad die single quotes overbodig. Verder kun je de daadwerkelijke query die je uitvoert eens afdrukken en kijken of er niets geks mee is. Desnoods test je die uitgeprintte query even handmatig in Access.

Succes. :)

'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.


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:12
Print de SQL eens naar het scherm voordat ie uitgevoerd wordt.

Dan zal je zien dat je quotes rond dat getal hebt staan, en dan moet je natuurlijk ook weten dat je dat niet mag doen, omdat dat anders als een string wordt aanzien.

En verder: wat NMe al zegt mbt het debuggen.

[ Voor 10% gewijzigd door whoami op 30-10-2005 13:07 ]

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.