/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Update med værdien +1
Fra : Thomas K


Dato : 02-01-05 18:05

Jeg prøver på at opdatere min access database på en asp side. Min
tabel hedder "overskrifter" og jeg vil gerne have at kolonnen
"Svar" skal opdateres med værdien +1.

Det skal bruges til at se hvor mange besvarelser der har været på
et indlæg, så hvis der er en som besvare et nyt indlæg, bliver
kolonnen "Svar" ændret til 1...Næste besvarelse ændre værdien til
2 osv osv.

Jeg har prøvet med nedenstående linie, men jeg er vist lidt galt
på den da det slet ikke fungere:

strSQL = "Update overskrifter set Svar (value = value + 1) Where
ID = " & Request.Querystring("ID")

Fejl:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i
UPDATE-sætningen.

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jens Gyldenkærne Cla~ (02-01-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 02-01-05 18:28

Thomas K skrev:

> strSQL = "Update overskrifter set Svar (value = value + 1) Where
> ID = " & Request.Querystring("ID")

Det er enklere end som så:

strSQL = "Update overskrifter set Svar = Svar + 1 where
ID = " & Request.Querystring("ID")
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Thomas K (02-01-2005)
Kommentar
Fra : Thomas K


Dato : 02-01-05 19:10

> Jens GyldenkærneClausen wrote:
> strSQL = "Update overskrifter set Svar = Svar + 1 where
> ID = " & Request.Querystring("ID")

Smukt, takker Jens!

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Rosenkvist (02-01-2005)
Kommentar
Fra : Jens Rosenkvist


Dato : 02-01-05 23:27

Jens Gyldenkærne Clausen wrote:
> Det er enklere end som så:
>
> strSQL = "Update overskrifter set Svar = Svar + 1 where
> ID = " & Request.Querystring("ID")

Jeg takker også.
Jeg har hele tiden lavet det, så jeg først har hentet værdien fra
databasen og derefter lagt en til.
Men det her er jo smartere. :)

Casper Bang (03-01-2005)
Kommentar
Fra : Casper Bang


Dato : 03-01-05 13:16

> Jeg takker også.
> Jeg har hele tiden lavet det, så jeg først har hentet værdien fra
> databasen og derefter lagt en til.
> Men det her er jo smartere. :)

Og sikrere :) Der er mindre risiko for at en anden bruger har hentet de
samme data fra databasen på samme tid, så den ene af opdateringerne bliver
overskrevet :)



Jens Peter Rosenkvis~ (14-03-2005)
Kommentar
Fra : Jens Peter Rosenkvis~


Dato : 14-03-05 11:16

Jens Gyldenkærne Clausen wrote:
> Det er enklere end som så:
>
> strSQL = "Update overskrifter set Svar = Svar + 1 where
> ID = " & Request.Querystring("ID")

Hvis man har tre felter A, B og C og gerne vil have A/B = C, hvordan
skal det så gøres på denne måde?

Jens Gyldenkærne Cla~ (14-03-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 14-03-05 11:28

Jens Peter Rosenkvist skrev:

> Hvis man har tre felter A, B og C og gerne vil have A/B = C,

Hvad mener du med A/B = C?

Skal C tildeles værdien af A/B eller skal du tjekke om A/B er lig C?

Det første kan gøres sådan:

UPDATE tabel SET C = A/B

Det andet kan fx være

SELECT C FROM tabel WHERE C = A/B


NB: Det er normalt ikke en god ide at gemme beregnede værdier i en tabel
- hvis du har A og B i tabellen i forvejen, kan du altid beregne C i en
forespørgsel når du skal bruge den:

SELECT A, B, A/B as C FROM tabel

På den måde gemmer man ikke overflødig information og man sikrer sig at
der ikke opstår inkonsistens i beregningen (hvis man fx opdaterer C uden
at opdatere A eller B).

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jens Peter Rosenkvis~ (14-03-2005)
Kommentar
Fra : Jens Peter Rosenkvis~


Dato : 14-03-05 17:34

Jens Gyldenkærne Clausen wrote:
> Hvad mener du med A/B = C?

Undskyld, har lige siddet og skrevet opgave i et sprog der gemmer
værdien af det til venste i variablen til højre.

Mener selvfølgelig C = A/B

Det var også derfor det ikke virkede, da jeg prøvede det.

> NB: Det er normalt ikke en god ide at gemme beregnede værdier i en tabel
> - hvis du har A og B i tabellen i forvejen, kan du altid beregne C i en
> forespørgsel når du skal bruge den:
>
> SELECT A, B, A/B as C FROM tabel
>

Problemet er, at jeg skal " ORDER BY C", så at sige. Skal jeg så ikke
have værdien gemt i databasen?

Jens Gyldenkærne Cla~ (14-03-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 14-03-05 22:32

Jens Peter Rosenkvist skrev:

>> SELECT A, B, A/B as C FROM tabel

> Problemet er, at jeg skal " ORDER BY C", så at sige.

Ikke noget problem:

SELECT A, B FROM tabel ORDER BY A/B

Du kan sagtens sortere efter et beregnet udtryk. Det der kan
forvirre lidt er at man i nogle databaser ikke kan bruge felt-alias
i udtryk. Altså hvis du nu både vil have vist værdien A/B og
sorteret efter den, kan man i nogle databaser skrive:

SELECT A, B, A/B as C ORDER BY C

- mens man i andre (bl.a. Access og MSSQL) skal skrive udtrykket
begge steder:

SELECT A, B, A/B as C ORDER BY A/B
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jens Peter Rosenkvis~ (16-03-2005)
Kommentar
Fra : Jens Peter Rosenkvis~


Dato : 16-03-05 15:03

Jens Gyldenkærne Clausen wrote:
> SELECT A, B FROM tabel ORDER BY A/B

Takker. :) Altid hurtig og brugbar hjælp fra din side. :)

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste