webForumDet fria alternativet

skriva över poster i databas?

ASP

6 svar · 426 visningar · startad av fredrik

Medlem sedan dec. 19991 072 inlägg
Frågan#1

Hej, jag har en databas där jag vill att varje gång man klickar på en knapp så ska värdet i databasfältet ökas med 1. Jag undrar alltså hur man i asp anropar en speciell post(och inte infogar en ny post) i en databas (mdb).
Är det någon som vet?

/fredrik

Medlem sedan dec. 19995 874 inlägg
#2

Hej!

Är det en räknare eller nått du är ute efter? Du kan ju göra så här:

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\dmab\raknare.mdb"
counter = "SELECT tal FROM raknare"
SQLStmt = "UPDATE raknare SET tal = tal +1"
Connection.Execute(counter)
Connection.Execute(SQLStmt)
%>

Så sätter du ju bara knappen att ropa på filen som innehåller den koden som jag skrev så kan du ju lägga till längst ner kanske nått sånt här:

response.redirect Request.ServerVariables("http_referer")

Så åker han tillbaka till samma sida med en reload, efter att han tryckt på knappen :)

Hoppas det var det du var ute efter

Mvh
Patrik
aka Brimba

Medlem sedan dec. 19998 577 inlägg
#3

Hejsan Fredde!

Först måste du hämta variabeln som skall ökas...och sedan ge den ett värde:
värde = värde + 1 som du sedan lägger tillbaks i databasen.

Det gör du lättast genom SQL utrycket UPDATE.

Syntaxen:
SQL = "UPDATE tabell"
SQL = SQL & " SET fält = '" & var1 & "'"
SQL = SQL & " WHERE ID = " & ditt_nummer
Databas.Execute(SQL)

där var1 och var2 är variabler av t.ex ett formulärfält, och ditt_nummer är det ID som skall uppdateras...

Hoppas det hjälpte...annars får du sparka lite på mig... :e

------------------
MVH / Vide
henslow.4sale.se/vide

ÄHHH!!! Nu han ju Patrik före... ;)

[Redigerat av Vide den 21 dec 1999]

Medlem sedan dec. 19995 874 inlägg
#4

Härmis!

:p
;)

Mvh
Patrik
aka Brimba

Medlem sedan dec. 1999707 inlägg
#5

Ja, fast om man bara skall plussa till värdet ett så behöver man inte hämta värdet och lägga till ett för att sedan lagra det i databasen.

Lättast gör man:

=========================================================================================

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\dmab\raknare.mdb"
SQLstmt = "UPDATE raknare SET tal = tal +1"
Connection.Execute(SQLstmt)
%>

=========================================================================================

Ovanståede kod låter odbc:n plussa till talet ett till kolumen "tal" i tabellen "raknare".

Krångligare än så behöver det inte vara.

------------------
/ Torbjörn Hansson

Medlem sedan dec. 19998 577 inlägg
#6

måste påpeka att jag troligtvis var påverkad av Patriks mentala kraft när jag skrev mitt inlägg...det var därför det blev lite luddigt och oigenomtänkt...

Patrik sluta upp med det där... :e

------------------
MVH / Vide
henslow.4sale.se/vide

[Redigerat av Vide den 21 dec 1999]

Medlem sedan dec. 19995 874 inlägg
#7

Jo det är klart!

Det är ju ganska självklart faktiskt, var lite flummig :)

Tack på påpekandet.

Mvh
Patrik
aka Brimba

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