Ändring av värde i databas - ASP

Permalänk

Ändring av värde i databas - ASP

I min databas till mitt forum har jag en tabell för användarna. Varje användare har en kollumn som håller reda på hur många posts han/hon gjort.

Problem är att den inte vill göra som jag vill. Jag testade, som är koden nedan, att ta plus ett i fältet när person skrev ett svar. Men det funkade inte..

SQL = "Select * From tblUsers Where strUsername='" & Session("Username") & "'"
Set RecSet = Conn.Execute(SQL)

intPosts = (RecSet("intPosts")+1)

Conn.execute("Update tblUsers Set intPosts='" & intPosts & "' Where strUsername=" & Session("Username"))

Får felmeddelandet:

Det har inte angetts något värde för en eller flera nödvändiga parametrar.

Som pekar på den sista raden.

Förstår inte vad som är fel...

Permalänk
Medlem

Re: Ändring av värde i databas - ASP

Citat:

Ursprungligen inskrivet av Darkrebel
Conn.execute("Update tblUsers Set intPosts='" & intPosts & "' Where strUsername=" & Session("Username"))

Bör vara

WHERE strUsername = '" & Session("Username") & "')

Fast varför hämtar du in all data i en SELECT-sats innan du uppdaterar den? Känns lite tårta på tårta

Visa signatur

www.uu.se - some kind of university | www.hirr.org.uk - ain't no mountain high enough | www.bajenfans.se

Permalänk

Varför skulle det vara så? då blir det ju en ) för mycket..

EDIT: Jag måste hämta upp för att kunna ta +1 till ett fält
EDIT 2: jag testade skriva

Conn.execute("Update tblUsers Set intPosts='" & intPosts+1 & "' Where strUsername=" & Session("Username"))

Men då fick jag samma fel som tidigare!!

EDIT 3: Fick det att funka... skrev

Conn.execute("Update tblUsers Set intPosts='" & intPosts+1 & "' Where strUsername='" & Session("Username") & "'")

lite vimsig så här tidigt!

Permalänk

Men fan.. det funkar ju fortfarande inte.. jag får inget felmeddelande eller liknande.. allt funkar.. men databasen uppdateras inte med det nya värdet!!

Conn.execute("Update tblUsers Set intPosts='" & intPosts+1 & "' Where strUsername='" & Session("Username") & "'")

Kan man inte skriva så??

Permalänk
Medlem

Du borde kunna göra nånting i stil med...

UPDATE tblUsers SET intPosts = intPosts + 1 WHERE strUsername = 'användarnamnet'

.. jag antar att det var så bobamatics menade. I ASP-kod blir det nått sånt här:

Conn.execute "UPDATE tblUsers SET intPosts = intPosts + 1 WHERE strUsername = '" & Session("Username") & "'"

.. och då ska du inte behöva göra SELECT först för att hämta värdet på intPosts.

Visa signatur

[size="1"]"Your appearance now is what we call 'residual self-image'. It is the mental projection of your digital self." - Morpheus[/size]
[size="1"]"...For $100, this dye is found in most makeup...(BZZZ) Diahrea! (LAUGHS) Oh, I'm sorry. What is Diahrea!" - Peter Griffin on Jeopardy![/size]