[ASP] Problemen met numerieke access tabel

Pagina: 1
Acties:

  • Elect
  • Registratie: Mei 2000
  • Niet online
Ik probeer via een ASP formulier een database te vullen van hardware componenten. Dit gaat allemaal prima, tot je een waarde weglaat.


Eerst vullen mensen een formulier in, waarna deze terug uitgelezen zal worden:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
verstuurd = Request.Servervariables("REQUEST_METHOD")
If verstuurd = "POST" then 

Buydate = Request.Form("Buydate")
Updatedate = Request.Form("Updatedate")
Price = Request.Form("Buyprice")

Set conn = Server.CreateObject("ADODB.Connection")
conn.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=d:\database\intranet.mdb;"

SQL = "INSERT INTO IS_network_equipment ([Price], [Buydate], [Updatedate]) VALUES ('" & Price & "','" & Buydate & "','" & Updatedate & "')"

conn.Execute(SQL)

End If


Tot zover de code. De database is een ACCESS 2000 database met daarin de 3 tabellen die ik ook hier opgeef. De Price tabel is een 'value' tabel, en de buydate en updatedate zijn allebij Date/Time

Het probleem is nu dat als ik alles netjes invul er geen probleem is, maar als ik een poging doe om ze geen waarde te geven krijg ik gelijk een foutmelding met daarin 'Gegevenstypen komen niet overeen in criteriumexpressie.'
Nu staan in de database de tabellen op 'vereist: nee', en ben ik erachter gekomen dat de foutmelding betekend dat hij of de invoer te lang is, of dat het foutgaat omdat het een numrieke tabel is. Nu zit ik dus redelijk vast, mensen met een oplossing gezocht :)

HelmChat.eu - Free Motorcycle Group Chats


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

oftewel '' != Null

[ Voor 34% gewijzigd door Verwijderd op 28-10-2003 14:27 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Da's geen vertaling van die link die ik gaf :P

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Overal waar jij tabel hebt staan hoort veld te staan ;). IS_network_equipment is een tabel ;)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Janoz schreef op 28 October 2003 @ 14:44:
Overal waar jij tabel hebt staan hoort veld te staan ;). IS_network_equipment is een tabel ;)
Hmmmm.. En in de helft van de gevallen van die FAQ-link waar database staat, hoort tabel te staan.. :X

[ Voor 5% gewijzigd door gorgi_19 op 28-10-2003 14:48 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
in access kan het ook zijn dat je de datum tussen #-jes moet zetten...

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


Verwijderd

niet dat de TS nog reageerd, maar ik bedoelde dus dat als 1 van die variabelen leeg zijn, dat je nog steeds twee ' in je SQL query hebt... en '' is nou eenmaal geen datum.. als je de ' vervangt door # zal dat wennig uitmaken, omdat ## ook een foutmelding zal geven. Je zal van te voren moeten testen of de variabelen niet leeg zijn, en vervolgens pas je SQL query moeten maken (en dan dus de de velden die toch niet gevuld worden uit je query laten).

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Sowieso is het een ranzige query; als ik als prijs een single quote in vul, gaat hij de applicatie ook al spontaan flippen. Er is geen enkele vorm van error checking.

Het wordt nog leuker als je ook tekstvelden hebt; dan is de site helemaal gevoelig voor Cross site scripting attacks.

* gorgi_19 begint alvast te zwaaien naar de applicatie :+

[ Voor 35% gewijzigd door gorgi_19 op 28-10-2003 15:26 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1