du har i din sql-fråga antingen:
-
haft apostrofer runt ett värde som skall in i ett fält av typen int eller float, eller:
-
glömt apostrofer runt varchar/text-värden.
jag röstar på nummer 1.
6 svar · 255 visningar · startad av H_E_Pennypacker
Jag håller på att göra en sida där jag kan uppdatera databasen från nätet, men jag får felmeddelande av den här koden:
<%
set conn = server.createobject("adodb.connection")
conn.open MM_barbarnes_STRING
fnamn = Request.Form("namn")
fkategori = Request.Form("kategori")
ffarg = Request.Form("farg")
fdoft = Request.Form("doft")
fsmak = Request.Form("smak")
fanvandning = Request.Form("anvandning")
fbeska = Request.Form("beska")
ffyllighet = Request.Form("fyllighet")
fsotma = Request.Form("sotma")
fbbtycker = Request.Form("bbtycker")
fbetyg = Request.Form("betyg")
if fbetyg = 11 then
fbetyg = fbetyg
else
fbetyg = fbetyg * 2
end if
fsystemnr = Request.Form("systemnr")
fbild = Request.Form("bild")
fursprung = Request.Form("ursprung")
fproducent = Request.Form("producent")
falkoholhalt = Request.Form("alkoholhalt")
fpris1storlek = Request.Form("pris1storlek")
fpris1pris = Request.Form("pris1pris")
fpris2storlek = Request.Form("pris2storlek")
fpris2pris = Request.Form("pris2pris")
fpris3storlek = Request.Form("pris3storlek")
fpris3pris = Request.Form("pris3pris")
sql = "insert into ol(namn,kategori,farg,doft,smak,anvandning,beska,fyllighet,sotma,bbtycker,betyg,systemnr,bild,ursprung,producent,alkoholhalt,pris1pris,pris1storlek,pris2pris,pris2storlek,pris3pris,pris3storlek) " &_
" values ('" & fnamn & "','" & fkategori & "','" & ffarg & "','" & fdoft & "','" & fsmak & "','" & fanvandning & "','" & fbeska & "','" & ffyllighet & "','" & fsotma & "','" & fbbtycker & "','" & fbetyg & "','" & fsystemnr & "','" & fbild & "','" & fursprung & "','" & fproducent & "','" & falkoholhalt & "','" & fpris1pris & "','" & fpris1storlek & "','" & fpris2pris & "','" & fpris2storlek & "','" & fpris3pris & "','" & fpris3storlek & "')"
conn.execute sql
conn.close
set conn = nothing
response.Redirect("uppdatera_databaser_ol.asp")
%>
Felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck.
/barbarnes/admin/uppdatera_databaser_lagg_till_ol2.asp, line 38
Nån som snabbt kan se vad som är fel.
Rad 38 är den med "conn.execute sql"
du har i din sql-fråga antingen:
haft apostrofer runt ett värde som skall in i ett fält av typen int eller float, eller:
glömt apostrofer runt varchar/text-värden.
jag röstar på nummer 1.
ett litet tips är också att skriva ut sin sql-fråga med response.write innan man exekverar den.
det är då betydligt lättare att se om något är knas, exempelvis saknade värden, etc.
hur gör man då?
Inte driekt jätte haj på detta
tack för tipset, och nu fungerar det!
trots min sql-server-terminologi?
fantastiskt.