webForumDet fria alternativet

typblandningsfel DOH!

ASP

13 svar · 248 visningar · startad av Gein

Medlem sedan sep. 20005 700 inlägg
Frågan#1

har fått det här sketna typblandningsfeltet igen, har sökt på forumet men lyckas iaf inte lösa problemet.

	'SQL = "INSERT INTO lon ([hours], [50], [70], [100], [salary], [sal50], [sal70], [sal100], [date]) VALUES ('"& timmar &"', '"& i50 &"', '"& i70 &"', '"& i100 &"', '"& sal0 &"', '"& sal50 &"', '"& sal70 &"', '"& sal100 &"', '"& datum &"')"

allt utom datum är tal
hur ska det se ut?..
... ja, jag vet.. det är grötigt

------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net

Medlem sedan juni 200032 967 inlägg
#2

är det tal ska du inte ha några apostrofer runt värdet.

använder du sql server? då ska du ha apostrofer runt datum. access, # runt datum.

varför har du fält som bara har siffror i namnet? det är som att be om att det ska bli fel.

mvh,

------------------
can i borrow your goat?

Medlem sedan sep. 20005 700 inlägg
#3

hmm.. fan.. jag har aldrig förstått mej på det här. är det så här du menar?

	SQL = "INSERT INTO lon ([hours], [t50], [t70], [t100], [salary], [sal50], [sal70], [sal100], [date]) VALUES ( & timmar &, & i50 &, & i70 &, & i100 &, & sal0 &, & sal50 &, & sal70 &, & sal100 &, '"# datum #"')"

troligtvis inte, för det funkar inte

------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net

Medlem sedan juni 200032 967 inlägg
#4

ehm, jag har väl inte sagt något om att ta bort citationstecknen?

'SQL = "INSERT INTO lon ([hours], [50], [70], [100], [salary], [sal50], [sal70], [sal100], [date]) VALUES ("& timmar &", "& i50 &", "& i70 &", "& i100 &", "& sal0 &", "& sal50 &", "& sal70 &", "& sal100 &", #"& datum &"#)"

när man har gjort klart sin sql-fråga och den inte fungerar, så skriver man ut den med response.write för att se hur den färdiga sql-frågan ser ut.

sen visar man den för oss här. bara så du vet. :)

------------------
can i borrow your goat?

Medlem sedan dec. 200012 464 inlägg
#5

Du tog bort lite för mycket

'SQL = "INSERT INTO lon ([hours], [50], [70], [100], [salary], [sal50], [sal70], [sal100], [date]) VALUES ("& timmar &", "& i50 &", "& i70 &", "& i100 &", "& sal0 &", "& sal50 &", "& sal70 &", "& sal100 &", #"& datum &"#)"

Vi pratar alltså Access då.

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 20005 700 inlägg
#6

det e jag som e knäpp juh..
men jag märker att du blev lite irriterad ;)

tack för hjälpen iaf!

------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net

Medlem sedan juni 200032 967 inlägg
#7

men jag märker att du blev lite irriterad

vem då? både jag och LarsG har varsin glad gubbe juh! :)

------------------
can i borrow your goat?

Medlem sedan sep. 20005 700 inlägg
#8

syfta på dej anders, men jag skojja bara.. jag hade ju glimten i ögat ju! ;)

måste fan ta o försöka fatta hur det där funkar.. får ALLTID fel med typblandnings-tjossan..

------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net

Medlem sedan sep. 20005 700 inlägg
#9

stöter på ett till problem och kan väl lika gärna ta det här med då..

	SQL = "INSERT INTO lon ([hours], [t50], [t70], [t100], [salary], [sal50], [sal70], [sal100], [date]) VALUES ("& timmar &", "& i50 &", "& i70 &", "& i100 &", "& sal0 &", "& sal50 &", "& sal70 &", "& sal100 &", #"& datum &"#)"

när jag kör response.write får jag ut

INSERT INTO lon ([hours], [t50], [t70], [t100], [salary], [sal50], [sal70], [sal100], [date]) VALUES (5,5, 0, 0, 2,5, 379,5, 0, 0, 172,5, #2001-08-21#)

felet är att antal värden i frågan och målfält är olika. Detta beror på att vissa tal inte är heltal och skrivs som "5,5" och då skiljs dom ju åt som två olika värden i SQL:en.. hur ändrar jag detta?

------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net

Medlem sedan dec. 200012 464 inlägg
#10

I SQL så används . som decimalkomma och inte , så du får byta ut det innan du bygger ihop strängen.

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 20005 700 inlägg
#11

i koden står det sal50 = 38.5 * i50
och då tycker han ju att sal50 ska innehålla ett , och inte ett .

------------------
"When there's no more room in hell,
the dead will walk the earth."
--------------------- http://shortenings.cjb.net

[Redigerat av puzze den 21 aug 2001]

Medlem sedan dec. 200012 464 inlägg
#12
sal50 = replace(cstr(38,5 * i50),",",".")

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 20005 700 inlägg
#13

det tackar vi för! :)

------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net

Medlem sedan juni 200032 967 inlägg
#14

decimalpunkter och decimalkomman har vi diskuterat tidigare, och den som är intresserad av vad vi kom fram till då, är hemskt välkommen att läsa följande tråd: http://cgi.webforum.nu/wf/Forum11/HTML/004334.html

mvh,

------------------
can i borrow your goat?

260 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)