webForumDet fria alternativet

Finn felet

2 svar · 216 visningar · startad av webbmannen

webbmannenMedlem sedan dec. 1999659 inlägg
#1

Jag undrar om någon har tips på vad som kan vara fel i denna kod:

SQL = "SELECT Ja, Nej FROM svar"
RecSet.Open SQL, Connect

If Request.Form("fraga") = "Ja" Then

Ja = RecSet("Ja")
RecSet("Ja") = Ja -- 1
RecSet.Update

ElseIf Request.Form("fraga") = "Nej" Then
Nej = RecSet("Nej")
RecSet("Nej") = Nej -- 1
RecSet.Update
End If

Yes = RecSet("Ja")
No = RecSet("Nej")
Summa = Yes -- No

YResultat = "0"
NResultat = "0"

If Yes => "1" Then
YResultat = Round(Yes / Summa * 100)
End If

If No => "1" Then
NResultat = Round(No / Summa * 100)
End If

Felmeddelandet säger:

ADODB.Recordset error '800a0cb3'

Object or provider is not capable of performing requested operation.

Och raden som inte gillas är:

RecSet("Ja") = Ja -- 1

Själv tycker jag det ser rätt ut - någon?

/webb

@ndersMedlem sedan juni 200026 914 inlägg
#2

jag tror inte att du kan hålla på med update/addnew-skräp på en forward-only cursor, du skall alltså öppna ditt recordset genom att slänga med ett par konstanter i din open-sats om du måste använda de ado-metoder för att uppdatera i din databas.

jag förstår inte riktigt vad ja -- 1 betyder.

varför inte använda riktiga sql-frågor :q

du har sedan ett par variabler (yes och no), som du nog får bestämma dig för om de ska vara strängar eller tal innan du börjar räkna och göra taljämförelser med dem.

när jag gjorde lumpen så sa befälen alltid 'gör om, gör rätt'. samma sak gäller även här. ;)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
that's what brian boitano would do!</A>

webbmannenMedlem sedan dec. 1999659 inlägg
#3

Hej @nders,

Koden är hämtad från WebStudios röstningsskript och det är inte första gången som deras sätt att skriva fått negativ kritik här på forumet.

Jag ska försöka skriva om det med riktig SQL istället.

btw (Ja -- 1) betyder att databasens Ja kolumn ska ökas med 1.

/webb

Genererad på 359 ms · cache AV · v20260730165559-full.f96bc7eb