|
| Hvordan udskrives id-nummer for sidst inds~ Fra : Jakob Munck |
Dato : 03-07-01 13:45 |
|
Jeg er i færd med at lave en kunstklub, og alle medlemmerne skal have et
unikt brugernummer, som skal være identisk med det id-nummer, som de
automatisk for tildelt når de indsættes i databasen (Access).
Når de melder sig ind skriver de deres data i en formular, og derefter føres
de til et indlogningsfelt, hvor de skal skrive deres navn og brugernummer.
Brugernummeret skal være identisk med deres id nummer i databasen.
Problemet er hvordan jeg får udskrevet id-nummeret på den sidst indsatte
record i databasen, for den sidst indsatte er jo netop den nyindmeldte
bruger, og han skal straks have sit eget nummer til at logge sig ind med.
Jeg foreslår selv en ASP/SQL-kode i stil med:
<%
.........
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "select idnummer from last record"
rs.open sql, conn, 1, 3
........
%>
Da "from last record" er mit eget udtryk ved jeg, at det ikke virker.
Men hvordan er den rigtige kode for at få den sidste records id-nummer
udskrevet?
v.h.
Jakob Munck
| |
Lars Hoffmann (03-07-2001)
| Kommentar Fra : Lars Hoffmann |
Dato : 03-07-01 13:29 |
|
Jakob Munck wrote:
>
> Problemet er hvordan jeg får udskrevet id-nummeret på den sidst indsatte
> record i databasen, for den sidst indsatte er jo netop den nyindmeldte
> bruger, og han skal straks have sit eget nummer til at logge sig ind med.
<KLIP>
> sql = "select idnummer from last record"
<KLIP>
Hvis det er et stigende idnummer kan du gøre således
SQL= "SELECT MAX(idnummer) FROM <table>"
Hvor du så udskifter <table> med navnte på din table.
Med venlig hilsen
Lars
| |
Jakob Munck (03-07-2001)
| Kommentar Fra : Jakob Munck |
Dato : 03-07-01 21:06 |
|
Jeg har forsøgt mig med den kode du nævner, og det ser sådan ud, idet
id-kolonnen hedder "brugerId" og tabellen "bruger". Derefter forsøger jeg at
skrive denne id op i en sessionvariabel. Men det virker bare ikke.
<%
.....
SQL = "SELECT MAX(brugerId) FROM bruger"
set RS= Conn.execute(SQL)
Session("brugerId") = rs("brugerId")
.....
%>
Her er fejlmeldingen:
"Elementet kan ikke findes i den samling, der svarer til det anmodede navn
eller ordenstal.
/get2you/get2you.asp, line 136, hvilket er sidste linie i ovenstående kode"
Hvad kan der være galt?
v.h.
Jakob Munck
| |
Jørn Andersen (03-07-2001)
| Kommentar Fra : Jørn Andersen |
Dato : 03-07-01 21:19 |
|
On Tue, 3 Jul 2001 22:05:40 +0200, "Jakob Munck"
<jakob.munck@email.dk> wrote:
>SQL = "SELECT MAX(brugerId) FROM bruger"
>set RS= Conn.execute(SQL)
>Session("brugerId") = rs("brugerId")
SQL = "SELECT MAX(brugerId) AS Nyeste FROM bruger"
>set RS= Conn.execute(SQL)
Nyeste = rs("Nyeste")
>Hvad kan der være galt?
Jeg mener, at man er nødt til at give den et navn, hvis man skal bruge
den til noget.
Good luck,
Jørn
--
Jørn Andersen
Brønshøj
| |
Jakob Munck (03-07-2001)
| Kommentar Fra : Jakob Munck |
Dato : 03-07-01 23:05 |
|
Det var lige det, der skulle til. Så virker det.
Mange tak fra
Jakob Munck
| |
Peter (08-07-2001)
| Kommentar Fra : Peter |
Dato : 08-07-01 09:50 |
|
>Hvis det er et stigende idnummer kan du gøre således
>
>SQL= "SELECT MAX(idnummer) FROM <table>"
Dette er IKKE en god løsning!
Forestil dig mange brugere indsætter i basen på samme tid.
Det seneste ID vil jo så ikke nødvendigvis passe sammen med en given bruger.
En bedre løsning er at indsætte en unik værdi i rækken og hente ID for den
række som den unikke værdi er i.
VH Peter
| |
Niels Henriksen (08-07-2001)
| Kommentar Fra : Niels Henriksen |
Dato : 08-07-01 15:28 |
|
"Peter" <pingking@get2net.dk> wrote in message
news:CbV17.68$qm6.919@news.get2net.dk...
>
> En bedre løsning er at indsætte en unik værdi i rækken og hente ID for den
> række som den unikke værdi er i.
>
Den bedste løsning, som jeg bruger er at jeg skaber selv mit eget id nummer.
Det indsætter jeg så samtidig med at jeg indsætter data og derved vil der
aldrig komme problemer.
--
Niels Henriksen
Systemudvikler
Netopcom Danmark ApS
www.netopcomdanmark.dk
| |
|
|