Avatar billede nightowl24 Nybegynder
01. oktober 2003 - 12:19 Der er 10 kommentarer og
1 løsning

Oprette en ordre med unikt ordrenummer

Hejsa

Jeg kan ikke forstå hvorfor dettte ikke virker.

Det er meningen at der skal oprettes et ordrenummer, hvor der lægges 1 til sidste ordreid(ordrenummer)

Gør jeg noget forkert?

sqlstr = "SELECT OrdreID FROM Ordre"
Set RS = Conn.Execute(sqlstr)
While not RS.eof
Ordrenummer = RS("OrdreID")+1
RS.MoveNext
wend

mvh. Brian
Avatar billede goose Nybegynder
01. oktober 2003 - 12:26 #1
Er ikke sikker, men prøv:

sqlstr = "SELECT TOP 1 OrdreID FROM Ordre order by OrdreID DESC"
Set RS = Conn.Execute(sqlstr)
Ordrenummer = RS("OrdreID")+1
response.write Ordrenummer

/Goose
Avatar billede nightowl24 Nybegynder
01. oktober 2003 - 12:28 #2
Det hjalp desværre ikke :(
Avatar billede goose Nybegynder
01. oktober 2003 - 12:32 #3
Hvad skriver din response.write da ?

/Goose
Avatar billede nightowl24 Nybegynder
01. oktober 2003 - 12:35 #4
Den skriver 2, men der er langt flere ordrer i databasen
Avatar billede goose Nybegynder
01. oktober 2003 - 12:42 #5
okay, så skal jeg lige høre om feltet OrdreID er af typen autonumber ?

/Goose
Avatar billede nightowl24 Nybegynder
01. oktober 2003 - 12:43 #6
Det er det
Avatar billede goose Nybegynder
01. oktober 2003 - 12:51 #7
Så forstår jeg ikke helt at du får udskrevet tallet 2 når man nu tager det største OrdreID fra databasen, du er sikker på du har DESC med i din sætning ?

/Goose
Avatar billede sbm Nybegynder
01. oktober 2003 - 13:06 #8
PAAAAAAAAAAAAAAAAAAS PÅÅÅÅÅÅÅÅÅÅ!!!!

Når du vil give den næste ordre et nyt nummer, som er 1 højere end det hidtil højeste, er det mest korrekte at bruge autonumber. Hvad du så end ønsker at bruge dit OrdreID+1 til ved jeg ikke, men vær opmærksom på at du godt kan have 2 forskellige brugere der prøver at oprette en ny ordre samtidig. Hvis de starter omtrent samtidig, vil de begge få oplyst det SAMME nummer som det - indtil videre - højeste nummer. Men i den sidste ende når de submitter, vil deres ordrer få to forskellige numre, og derfor vil nummeret du har oplyst kun være korrekt for den ene af dem.
Avatar billede nightowl24 Nybegynder
01. oktober 2003 - 13:40 #9
Jeg tester lige lidt forskelligt og vender tilbage
Avatar billede nightowl24 Nybegynder
01. oktober 2003 - 13:47 #10
Hmm, har måske fundet fejlen. Hvis man vil angive den fulde sti til en database der ligger på en anden server, hvad skriver man så her:

DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("http://www.domæne.dk/log/database.mdb")

Skal man skrive noget andet istedet for Server.MapPath?

/Nightowl
Avatar billede goose Nybegynder
01. oktober 2003 - 14:05 #11
Du kan ikke bruge en database der ligger på en anden server, så simpelt er det :o)

/Goose
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester