webForumDet fria alternativet

Plötsligt UPDATE fel.

ASP

8 svar · 441 visningar · startad av kickR

Medlem sedan juni 200434 inlägg
Frågan#1

Hejsan.

Bytt igår från IIS 5.0 till 6.0 och började köra samma webbsida nyss igen.

Allt fungera fint till jag kommer till en UPDATE grejj där jag får följande fel.

Microsoft OLE DB Provider for ODBC Drivers fel '80040e10'

[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 2 förväntades.

/admin/post.asp, rad 117

Rad 117 lyder föjande

SQL = "Update wgPost SET PostTopic = '" & PostTopic & "', " & PostInline & " = '" & PostTextbox & "', PostFeatures = " & PostFeatures & " WHERE PostId = " & Request.Querystring("id")

Set updateNews = conn.Execute(SQL)

Vad av detta är det som fungerar på IIS 5.0 och inte på 6.0??

Medlem sedan nov. 20021 222 inlägg
#2

testa med att skriva så här

SQL = "Update wgPost SET PostTopic = '" & PostTopic & "', " & PostInline & " = '" & PostTextbox & "', PostFeatures = " & PostFeatures & " WHERE PostId = '" & Request.Querystring("id") "' "
Medlem sedan juni 200434 inlägg
#3

gick inte alls bra =(

Medlem sedan juni 200434 inlägg
#4

Har hittat felet.

Feler är när det kommer till True och False.

I min kod har jag gjort så här.

If Request.Form("wgBR") = "True" Then
PageBR = False
Else
PageBR = True
End If

och så när jag updaterar så skriver jag så här:

... wgPostContentBR = " & PageBR & " ...

men då blir fel. Men om jag då ändrar till detta så fungerar det fint.

... wgPostContentBR = True ...

Hur skall jag göra för att det skall fungera utan att bevöva bestämma om det skall vara true eller false i update stringen?

Medlem sedan juni 200434 inlägg
#5

Löste problemet genom att:

PageBR = "False"

istället för

PageBR = False

Skumt dock att det fungerade på IIS 5.0.

Medlem sedan juni 200032 967 inlägg
#6

Om du har ett svenskt OS så är true = Sant. Dvs:

PageBr = True

resulterar i:

fldFoo = Sant

i SQL-frågan. I SQL-frågor ska man ange True eller False, inte Sant eller Falskt.

Inte konstigt mao, och använd funktionen "Acceptera som slutgiltigt svar".

mvh

Medlem sedan nov. 20017 144 inlägg
#7

@nders; går det inte att även använda 1 och 0 för true/false?

Medlem sedan juni 200032 967 inlägg
#8

Jesper, jag vet inte. Prova. :)

mvh

Medlem sedan apr. 20031 660 inlägg
#9

HEJ!

För att göra allt enklare används 0/1 i SQL-server, och 0/-1 i Access.

Icke bock/bock - false/true alltså.

Att -1 är true tycker jag är lurigt, eftersom det är negativt, och därför borde vara felaktigt, dvs false.
Detta är en sak att tänka på när man byter databastyp.

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