webForumDet fria alternativet

Typblandningsfel i vilkorsuttryck

ASP

16 svar · 462 visningar · startad av Mika3l

Medlem sedan nov. 20018 492 inlägg
Frågan#1

Hejsan!

Jag ska lägga in en ny produkt i databasen shop.mdb.
Men, jag får felmeddelandet

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck.
/test/mystore/admin/addprod.asp, line 331

addprod.asp

Set Upload = Server.CreateObject("Persits.Upload")  
Upload.SaveVirtual("../images")
Set File = Upload.Files("bild")

kat = Trim(Upload.Form("kat"))
namn = Trim(Upload.Form("namn"))
pris = Trim(Upload.Form("pris"))
falt1 = Trim(Upload.Form("falt1"))
falt2 = Trim(Upload.Form("falt2"))
falt3 = Trim(Upload.Form("falt3"))
falt4 = Trim(Upload.Form("falt4"))
falt5 = Trim(Upload.Form("falt5"))
falt6 = Trim(Upload.Form("falt6"))
falt7 = Trim(Upload.Form("falt7"))
falt8 = Trim(Upload.Form("falt8"))
falt9 = Trim(Upload.Form("falt9"))
falt10 = Trim(Upload.Form("falt10"))
falt11 = Trim(Upload.Form("falt11"))
falt12 = Trim(Upload.Form("falt12"))
falt13 = Trim(Upload.Form("falt13"))
falt14 = Trim(Upload.Form("falt14"))
falt15 = Trim(Upload.Form("falt15"))
sfalt1 = Trim(Upload.Form("sfalt1"))
sfalt2 = Trim(Upload.Form("sfalt2"))
sfalt3 = Trim(Upload.Form("sfalt3"))
sfalt4 = Trim(Upload.Form("sfalt4"))
sfalt5 = Trim(Upload.Form("sfalt5"))
sfalt6 = Trim(Upload.Form("sfalt6"))
sfalt7 = Trim(Upload.Form("sfalt7"))
sfalt8 = Trim(Upload.Form("sfalt8"))
sfalt9 = Trim(Upload.Form("sfalt9"))
sfalt10 = Trim(Upload.Form("sfalt10"))
sfalt11 = Trim(Upload.Form("sfalt11"))
sfalt12 = Trim(Upload.Form("sfalt12"))
sfalt13 = Trim(Upload.Form("sfalt13"))
sfalt14 = Trim(Upload.Form("sfalt14"))
sfalt15 = Trim(Upload.Form("sfalt15"))
ovrigt = Trim(Upload.Form("ovrigt"))
bild = File.Filename
lank1 = Trim(Upload.Form("lank1"))
lank2 = Trim(Upload.Form("lank2"))
lank3 = Trim(Upload.Form("lank3"))
lank4 = Trim(Upload.Form("lank4"))
lank5 = Trim(Upload.Form("lank5"))
status = Trim(Upload.Form("status"))

SQL = "INSERT INTO produkter(kat, namn, pris, falt1, falt2, falt3, falt4, falt5, falt6, " & _
" falt7, falt8, falt9, falt10, falt11, falt12, falt13, falt14, falt15, sfalt1, sfalt2, " & _
" sfalt3, sfalt4, sfalt5, sfalt6, sfalt7, sfalt8, sfalt9, sfalt10, sfalt11, sfalt12, sfalt13, " & _
" sfalt14, sfalt15, ovrigt, bild, lank1, lank2, lank3, lank4, lank5, status) " & _
" VALUES('" & kat & "','" & namn & "','" & pris & "','" & falt1 & "','" & falt2 & "','" & falt3 & _
"','" & falt4 & "','" & falt5 & "','" & falt6 & "','" & falt7 & "','" & falt8 & "','" & falt9 & _
"','" & falt10 & "','" & falt11 & "','" & falt12 & "','" & falt13 & "','" & falt14 & "','" & falt15 & _
"','" & sfalt1 & "','" & sfalt2 & "','" & sfalt3 & "','" & sfalt4 & "','" & sfalt5 & _
"','" & sfalt6 & "','" & sfalt7 & "','" & sfalt8 & "','" & sfalt9 & "','" & sfalt10 & "','" & sfalt11 & _
"','" & sfalt12 & "','" & sfalt13 & "','" & sfalt14 & "','" & sfalt15 & "','" & ovrigt & "','" & bild & _
"','" & lank1 & "','" & lank2 & "','" & lank3 & "','" & lank4 & _
"','" & lank5 & "','" & status & "')"
Connection.Execute(SQL)[/red]

Response.Redirect"addprod.asp?page=done&namn=" & namn & ""

Rad 331 är "blåad".
Eftersom det är Connection.Execute(SQL) så är ju felet på någon av raderna över i SQL uttrycket, är det någon med skarpa ögon som kan se felet?

LarsG :OO :e

/Mika3l

------------------
Det stora datatestet:

Ok, då börjar vi!
För att börja testet tryck alt+F4.

MK-Studios v2!

Medlem sedan feb. 20012 412 inlägg
#2
" VALUES('" & kat & "','" & namn & "','" & pris & "','" & falt1 & "','" & falt2 & "','" & falt3 & _
"','" & falt4 & "','" & falt5 & "','" & falt6 & "','" & falt7 & "','" & falt8 & "','" & falt9 & _
"','" & falt10 & "','" & falt11 & "','" & falt12 & "','" & falt13 & "','" & falt14 & "','" & falt15 & _
"','" & sfalt1 & "','" & sfalt2 & "','" & sfalt3 & "','" & sfalt4 & "',[b]'" & sfalt5 [/b]& _
"','" & sfalt6 & "','" & sfalt7 & "','" & sfalt8 & "','" & sfalt9 & "','" & sfalt10 & "',[b]'" & sfalt11 [/b]& _
"','" & sfalt12 & "','" & sfalt13 & "','" & sfalt14 & "','" & sfalt15 & "','" & ovrigt & "','" & bild & _
"','" & lank1 & "','" & lank2 & "','" & lank3 & "',[b]'" & lank4 [/b] & _
"','" & lank5 & "','" & status & "')"

På markerade ställen är det fel, du måse avsluta raden med " och börja den nya med " när du använder _

hajar du?

------------------
Vänligen Jörgen :)

[Redigerat av jorgen den 07 feb 2002]

Medlem sedan nov. 20018 492 inlägg
#3

Aha!

Ska kolla om det fungerar....

/Mika3l

------------------
Det stora datatestet:

Ok, då börjar vi!
För att börja testet tryck alt+F4.

MK-Studios v2!

Medlem sedan feb. 20012 412 inlägg
#4

Generellt bör det se ut så här:

"rad 1" & _
"rad2" & _
"rad3"

------------------
Vänligen Jörgen :)

Medlem sedan nov. 20018 492 inlägg
#5

Nej, det fungerar inte.
"' finns på raden under ;)

/Mika3l

------------------
Det stora datatestet:

Ok, då börjar vi!
För att börja testet tryck alt+F4.

MK-Studios v2!

Medlem sedan feb. 20012 412 inlägg
#6

Jo, jag såg det. Men raden måste avslutas (med ") fast du använder _ och sedan påbörjas igen (med ").

------------------
Vänligen Jörgen :)

Medlem sedan nov. 20018 492 inlägg
#7

Jag måste göra så för annars får det inte plats i Anteckningar ;)

Jag får prova att skriva rad för rad...

Återkommer nog snart! ;)

/Mika3l

------------------
Det stora datatestet:

Ok, då börjar vi!
För att börja testet tryck alt+F4.

MK-Studios v2!

Medlem sedan feb. 20012 412 inlägg
#8
" VALUES('" & kat & "','" & namn & "','" & pris & "', " & _
" '" & falt1 & "','" & falt2 & "','" & falt3 & "','" & falt4 & "', " & _
" '" & falt5 & "','" & falt6 & "','" & falt7 & "','" & falt8 & "', " & _
" '" & falt9 & "','" & falt10 & "','" & falt11 & "','" & falt12 & "', " & _
" '" & falt13 & "','" & falt14 & "','" & falt15 & "','" & sfalt1 & "', " & _
" '" & sfalt2 & "','" & sfalt3 & "','" & sfalt4 & "','" & sfalt5 & "', " & _
" '" & sfalt6 & "','" & sfalt7 & "','" & sfalt8 & "','" & sfalt9 & "', " & _
" '" & sfalt10 & "','" & sfalt11 & "','" & sfalt12 & "','" & sfalt13 & "', " & _
" '" & sfalt14 & "','" & sfalt15 & "','" & ovrigt & "','" & bild & "', " & _
" '" & lank1 & "','" & lank2 & "','" & lank3 & "','" & lank4 & "', " & _
" '" & lank5 & "','" & status & "')"

------------------
Vänligen Jörgen :)

[Redigerat av jorgen den 07 feb 2002]

Medlem sedan nov. 20018 492 inlägg
#9

Jag ska kolla på koden när jag kommer hem.
Sitter i skolan nu :p

Tackar!

/Mika3l

------------------
Det stora datatestet:

Ok, då börjar vi!
För att börja testet tryck alt+F4.

MK-Studios v2!

Medlem sedan nov. 20018 492 inlägg
#10

Hmmm...
Jag får samma jobbiga felmeddelande iallafall :l

SQL = "INSERT INTO produkter(kat, namn, pris, falt1, falt2, falt3, falt4, falt5, falt6, falt7, falt8, falt9, falt10, falt11, falt12, falt13, falt14, falt15, sfalt1, sfalt2, sfalt3, sfalt4, sfalt5, sfalt6, sfalt7, sfalt8, sfalt9, sfalt10, sfalt11, sfalt12, sfalt13, sfalt14, sfalt15, ovrigt, bild, lank1, lank2, lank3, lank4, lank5, status) "&_
" VALUES('" & kat & "','" & namn & "','" & pris & "', " & _
" '" & falt1 & "','" & falt2 & "','" & falt3 & "','" & falt4 & "', " & _
" '" & falt5 & "','" & falt6 & "','" & falt7 & "','" & falt8 & "', " & _
" '" & falt9 & "','" & falt10 & "','" & falt11 & "','" & falt12 & "', " & _
" '" & falt13 & "','" & falt14 & "','" & falt15 & "','" & sfalt1 & "', " & _
" '" & sfalt2 & "','" & sfalt3 & "','" & sfalt4 & "','" & sfalt5 & "', " & _
" '" & sfalt6 & "','" & sfalt7 & "','" & sfalt8 & "','" & sfalt9 & "', " & _
" '" & sfalt10 & "','" & sfalt11 & "','" & sfalt12 & "','" & sfalt13 & "', " & _
" '" & sfalt14 & "','" & sfalt15 & "','" & ovrigt & "','" & bild & "', " & _
" '" & lank1 & "','" & lank2 & "','" & lank3 & "','" & lank4 & "', " & _
" '" & lank5 & "','" & status & "')"
Connection.Execute(SQL)

Connection.Execute(SQL) är "problemraden".

/Mika3l

------------------
Det stora datatestet:

Ok, då börjar vi!
För att börja testet tryck alt+F4.

MK-Studios v2!

[Redigerat av Mika3l den 08 feb 2002]

Medlem sedan juni 200032 967 inlägg
#11

Vad har du för datatyp på dina fält då?

------------------
webForum har stängt 15-17/2 för uppgradering.

Medlem sedan jan. 200262 inlägg
#12

kör en
response.write(Sql)
response.end

innan execute,då är det lättare att se vad som är fel i sql-satsen.

Medlem sedan nov. 20018 492 inlägg
#13

PID | Autonumber(Primarykey)
kat | Text
pris | Number
falt1 - falt15 | text
sfalt1 - sfalt15 | text
ovrigt | text
bild | text
lank1 - lank5 | text
status | Yes/No

Ska prova med Response.Write.

/Mika3l

------------------
Det stora datatestet:

Ok, då börjar vi!
För att börja testet tryck alt+F4.

MK-Studios v2!

Medlem sedan nov. 20018 492 inlägg
#14

Får denna text när jag kör Response.Write:

INSERT INTO produkter(kat, namn, pris, falt1, falt2, falt3, falt4, falt5, falt6, falt7, falt8, falt9, falt10, falt11, falt12, falt13, falt14, falt15, sfalt1, sfalt2, sfalt3, sfalt4, sfalt5, sfalt6, sfalt7, sfalt8, sfalt9, sfalt10, sfalt11, sfalt12, sfalt13, sfalt14, sfalt15, ovrigt, bild, lank1, lank2, lank3, lank4, lank5, status) VALUES('CPU','AMD Athlon XP 1600+','1699', 'Hastighet:','Bus hastighet:','','', '','','','', '','','','', '','','','1400Mhz', '266Mhz','','','', '','','','', '','','','', '','','En riktigt bra processor från AMD! Kräver dock ganska mycket kylning...','win2000.gif', 'http://www.amd.com','http://','http://','http://', 'http://','True')

/Mika3l

------------------
Det stora datatestet:

Ok, då börjar vi!
För att börja testet tryck alt+F4.

MK-Studios v2!

Medlem sedan juni 200032 967 inlägg
#15

Om pris är ett numeriskt fält skall du inte ha apostrofer runt det värdet.

Hur det är med yes/no-fält vet jag inte då jag inte använder access, men det kan nog vara så att den vill ha true/false utan apostrofer.

mvh,

------------------
webForum har stängt 15-17/2 för uppgradering.

Medlem sedan nov. 20018 492 inlägg
#16

Du har så rätt med pris!
Dumma mig...

Ska kolla på Yes/No fältet, är själv lite osäker på det...

Återkommer strax!

/Mika3l

------------------
Det stora datatestet:

Ok, då börjar vi!
För att börja testet tryck alt+F4.

MK-Studios v2!

Medlem sedan nov. 20018 492 inlägg
#17

JAAA!!!
Det fungerade!

Tack @anders!

Jag tog bort ' runt pris och Yes/No och då fungerade det, nästan...

Jag ska skickas vidare till en sida där produktens idnummer(PID) ska synas men det händer inget efter att produkten lagts till i databasen...

<% ElseIf Request.QueryString("page") = "upload" Then

Set Upload = Server.CreateObject("Persits.Upload")  
Upload.SaveVirtual("../images")
Set File = Upload.Files("bild")

kat = Trim(Upload.Form("kat"))
namn = Trim(Upload.Form("namn"))
pris = Trim(Upload.Form("pris"))
falt1 = Trim(Upload.Form("falt1"))
falt2 = Trim(Upload.Form("falt2"))
falt3 = Trim(Upload.Form("falt3"))
falt4 = Trim(Upload.Form("falt4"))
falt5 = Trim(Upload.Form("falt5"))
falt6 = Trim(Upload.Form("falt6"))
falt7 = Trim(Upload.Form("falt7"))
falt8 = Trim(Upload.Form("falt8"))
falt9 = Trim(Upload.Form("falt9"))
falt10 = Trim(Upload.Form("falt10"))
falt11 = Trim(Upload.Form("falt11"))
falt12 = Trim(Upload.Form("falt12"))
falt13 = Trim(Upload.Form("falt13"))
falt14 = Trim(Upload.Form("falt14"))
falt15 = Trim(Upload.Form("falt15"))
sfalt1 = Trim(Upload.Form("sfalt1"))
sfalt2 = Trim(Upload.Form("sfalt2"))
sfalt3 = Trim(Upload.Form("sfalt3"))
sfalt4 = Trim(Upload.Form("sfalt4"))
sfalt5 = Trim(Upload.Form("sfalt5"))
sfalt6 = Trim(Upload.Form("sfalt6"))
sfalt7 = Trim(Upload.Form("sfalt7"))
sfalt8 = Trim(Upload.Form("sfalt8"))
sfalt9 = Trim(Upload.Form("sfalt9"))
sfalt10 = Trim(Upload.Form("sfalt10"))
sfalt11 = Trim(Upload.Form("sfalt11"))
sfalt12 = Trim(Upload.Form("sfalt12"))
sfalt13 = Trim(Upload.Form("sfalt13"))
sfalt14 = Trim(Upload.Form("sfalt14"))
sfalt15 = Trim(Upload.Form("sfalt15"))
ovrigt = Trim(Upload.Form("ovrigt"))
bild = File.Filename
lank1 = Trim(Upload.Form("lank1"))
lank2 = Trim(Upload.Form("lank2"))
lank3 = Trim(Upload.Form("lank3"))
lank4 = Trim(Upload.Form("lank4"))
lank5 = Trim(Upload.Form("lank5"))
status = Trim(Upload.Form("status"))

SQL = "INSERT INTO produkter(kat, namn, pris, falt1, falt2, falt3, falt4, falt5, falt6, falt7, falt8, falt9, falt10, falt11, falt12, falt13, falt14, falt15, sfalt1, sfalt2, sfalt3, sfalt4, sfalt5, sfalt6, sfalt7, sfalt8, sfalt9, sfalt10, sfalt11, sfalt12, sfalt13, sfalt14, sfalt15, ovrigt, bild, lank1, lank2, lank3, lank4, lank5, status) "&_
" VALUES('" & kat & "','" & namn & "'," & pris & ", " & _
" '" & falt1 & "','" & falt2 & "','" & falt3 & "','" & falt4 & "', " & _
" '" & falt5 & "','" & falt6 & "','" & falt7 & "','" & falt8 & "', " & _
" '" & falt9 & "','" & falt10 & "','" & falt11 & "','" & falt12 & "', " & _
" '" & falt13 & "','" & falt14 & "','" & falt15 & "','" & sfalt1 & "', " & _
" '" & sfalt2 & "','" & sfalt3 & "','" & sfalt4 & "','" & sfalt5 & "', " & _
" '" & sfalt6 & "','" & sfalt7 & "','" & sfalt8 & "','" & sfalt9 & "', " & _
" '" & sfalt10 & "','" & sfalt11 & "','" & sfalt12 & "','" & sfalt13 & "', " & _
" '" & sfalt14 & "','" & sfalt15 & "','" & ovrigt & "','" & bild & "', " & _
" '" & lank1 & "','" & lank2 & "','" & lank3 & "','" & lank4 & "', " & _
" '" & lank5 & "'," & status & ")"
Connection.Execute(SQL)

Response.Redirect"addprod.asp?page=done&namn=" & namn & ""
%>

<% ElseIf Request.QueryString("page") = "done" Then
Set rs = Connection.Execute("SELECT PID, namn FROM produkter WHERE namn = '" & Request.QueryString("namn") & "'")
%>
<table align="center">
 <tr>
  <td>
<%=rs("namn")%> har lagts till i databasen.<br>
ProduktID/Produktnummer(PID): <strong><%=rs("PID")%></strong>
  </td>
 </tr>
</table>

<% Else
Response.Write"Sidan kunde inte hittas!"
End If %>

(Kanske var lite mycket onödig kod :q )

/Mika3l

------------------
Det stora datatestet:

Ok, då börjar vi!
För att börja testet tryck alt+F4.

MK-Studios v2!

268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)