Bekijk Volledige Versie : [ASP] komma in INSERT TO probleem
Mark van Ketel
07/05/04, 15:25
Hallo,
In ASP probeer ik het volgende:
x = 13,23 'prijs van artikel, komma voor de decimalen (wordt via
request.form uitgelezen
n = "naam artikel"
SQLstring = "INSERT INTO Items (itemNaam, itemPrijs)"
SQLstring = SQLstring & " VALUES ("
SQLstring = SQLstring & "'" & n & "', "
SQLstring = SQLstring & "" & x & ""
SQLstring = SQLstring & ")"
echter bij het uitvoeren van de query krijg ik een error:
Number of query values and destination fields are not the same.
hij wil dus 3 waarden invoeren bij maar 2 variabelen, omdat hij de komma
in de waarde van x als scheidingsteken ziet.
Ik hoop dat het probleem enigszins duidelijk is ;-)
Hoe los ik dat (het makkelijkst) op?
Mark
--
weblog : http://www.masadsign.nl/logout/
homepage: http://www.purmerend.org/mvketel/
nlmuziek: http://nlmuziek.cjb.net
Tim Van Wassenhove
07/05/04, 16:25
In article <c7g2ia$227r$1@nl-news.euro.net>, Mark van Ketel wrote:
> In ASP probeer ik het volgende:
> x = 13,23 'prijs van artikel, komma voor de decimalen (wordt via
> request.form uitgelezen
> n = "naam artikel"
>
> SQLstring = "INSERT INTO Items (itemNaam, itemPrijs)"
> SQLstring = SQLstring & " VALUES ("
> SQLstring = SQLstring & "'" & n & "', "
> SQLstring = SQLstring & "" & x & ""
> SQLstring = SQLstring & ")"
>
>
> hij wil dus 3 waarden invoeren bij maar 2 variabelen, omdat hij de komma
> in de waarde van x als scheidingsteken ziet.
Weet niets van ASP af, maar hebben ze daar niets van PreparedStatements
die dit soort van problemen voor jou oplossen?
--
http://home.mysth.be/~timvw
> > In ASP probeer ik het volgende:
> > x = 13,23 'prijs van artikel, komma voor de decimalen (wordt via
> > request.form uitgelezen
> > n = "naam artikel"
> >
> > SQLstring = "INSERT INTO Items (itemNaam, itemPrijs)"
> > SQLstring = SQLstring & " VALUES ("
> > SQLstring = SQLstring & "'" & n & "', "
> > SQLstring = SQLstring & "" & x & ""
> > SQLstring = SQLstring & ")"
> >
> >
> > hij wil dus 3 waarden invoeren bij maar 2 variabelen, omdat hij de komma
> > in de waarde van x als scheidingsteken ziet.
13,23 -> 13.23
of
SQLstring = SQLstring & "'" & x & "', "
???
M. van Ketel
09/05/04, 15:35
Nona Me wrote:
>>>In ASP probeer ik het volgende:
>>> x = 13,23 'prijs van artikel, komma voor de decimalen (wordt via
>>>request.form uitgelezen
>>> n = "naam artikel"
>>>
>>>SQLstring = "INSERT INTO Items (itemNaam, itemPrijs)"
>>>SQLstring = SQLstring & " VALUES ("
>>>SQLstring = SQLstring & "'" & n & "', "
>>>SQLstring = SQLstring & "" & x & ""
>>>SQLstring = SQLstring & ")"
>>>
>>>
>>>hij wil dus 3 waarden invoeren bij maar 2 variabelen, omdat hij de komma
>>>in de waarde van x als scheidingsteken ziet.
>
>
>
> 13,23 -> 13.23
> of
> SQLstring = SQLstring & "'" & x & "', "
> ???
>
>
Maar ik werk met de NL notaties, dus de komma, en het databaseveld is
een integer (met 2 decimalen)
Mark
--
LogOUT : http://www.masadsign.nl/logout/
nlmuziek: http://nlmuziek.cjb.net
"M. van Ketel" <usenet@ikwilgeenspam.avalanche.speedlinq.nl> schreef in
bericht news:c7lbij$2uva$1@nl-news.euro.net...
> Nona Me wrote:
> >>>In ASP probeer ik het volgende:
> >>> x = 13,23 'prijs van artikel, komma voor de decimalen (wordt via
> >>>request.form uitgelezen
> >>> n = "naam artikel"
> >>>
> >>>SQLstring = "INSERT INTO Items (itemNaam, itemPrijs)"
> >>>SQLstring = SQLstring & " VALUES ("
> >>>SQLstring = SQLstring & "'" & n & "', "
> >>>SQLstring = SQLstring & "" & x & ""
> >>>SQLstring = SQLstring & ")"
> >>>
> >>>
> >>>hij wil dus 3 waarden invoeren bij maar 2 variabelen, omdat hij de
komma
> >>>in de waarde van x als scheidingsteken ziet.
> >
> >
> >
> > 13,23 -> 13.23
> > of
> > SQLstring = SQLstring & "'" & x & "', "
> > ???
> >
> >
>
> Maar ik werk met de NL notaties, dus de komma, en het databaseveld is
> een integer (met 2 decimalen)
>
> Mark
>
> --
> LogOUT : http://www.masadsign.nl/logout/
> nlmuziek: http://nlmuziek.cjb.net
Uhm, databaseveld is geen integer. integer met decimalen bestaat niet. Is
dus een double of een float (dec).
De database verwacht toch een punt i.p.v. een komma. Zou dus een functie
maken SQLfloat() of zo en deze aanroepen bij het maken van de SQLstring.
SQLstring = "INSERT INTO Items (itemNaam, SQLfloat(itemPrijs))"
John
Mark van Ketel
12/05/04, 14:25
John wrote:
>
> "M. van Ketel" <usenet@ikwilgeenspam.avalanche.speedlinq.nl> schreef in
> bericht news:c7lbij$2uva$1@nl-news.euro.net...
>> Nona Me wrote:
>> >>>In ASP probeer ik het volgende:
>> >>> x = 13,23 'prijs van artikel, komma voor de decimalen (wordt via
>> >>>request.form uitgelezen
>> >>> n = "naam artikel"
>> >>>
>> >>>SQLstring = "INSERT INTO Items (itemNaam, itemPrijs)"
>> >>>SQLstring = SQLstring & " VALUES ("
>> >>>SQLstring = SQLstring & "'" & n & "', "
>> >>>SQLstring = SQLstring & "" & x & ""
>> >>>SQLstring = SQLstring & ")"
>> >>>
>> >>>
>> >>>hij wil dus 3 waarden invoeren bij maar 2 variabelen, omdat hij de
> komma
>> >>>in de waarde van x als scheidingsteken ziet.
>> >
>> >
>> >
>> > 13,23 -> 13.23
>> > of
>> > SQLstring = SQLstring & "'" & x & "', "
>> > ???
>> >
>> >
>>
>> Maar ik werk met de NL notaties, dus de komma, en het databaseveld is
>> een integer (met 2 decimalen)
>>
> Uhm, databaseveld is geen integer. integer met decimalen bestaat niet. Is
> dus een double of een float (dec).
> De database verwacht toch een punt i.p.v. een komma. Zou dus een functie
> maken SQLfloat() of zo en deze aanroepen bij het maken van de SQLstring.
> SQLstring = "INSERT INTO Items (itemNaam, SQLfloat(itemPrijs))"
>
Je hebt gelijk ik het veld was een numeriek veld, en ik ging er van uit
dat je die altijd zonder single quotes in de INSERT INTO string moest
toepassen. Echter was het veld verder een 'decimal' en inderdaad niet
integer.
Het is dus nu opgelost door wel gebruik te maken van quotes om het getal
met een komma erin.
Mark
--
weblog : http://www.masadsign.nl/logout/
homepage: http://www.purmerend.org/mvketel/
nlmuziek: http://nlmuziek.cjb.net