Avatar billede tblaster Nybegynder
19. september 2003 - 10:04 Der er 11 kommentarer og
1 løsning

hente id for den oprettede værdi i db

Når jeg vælger at oprette noget i en ms sql db er det så muligt at hente id'en for det oprettede data?

Jeg opretter ved at gøre følgende:

    Sql= "SELECT * FROM Titel"
    Rs.Open Sql, Conn, 3, 3
    rs.AddNew
        rs("Navn") = Request.Form("Navn")
        rs.update

Her vil jeg så gerne have at jeg får rs("TitelID") ud for den jeg lige har oprettet.
Avatar billede michael_stim Ekspert
19. september 2003 - 10:11 #1
strsql = "SELECT TitelID FROM Titel"
' SQL sætning eksekveres
set RS = conn.execute(strsql)
do while not rs.EOF
=rs("Navn")
rs.moveNext
loop
Avatar billede michael_stim Ekspert
19. september 2003 - 10:12 #2
=rs("TitelID") Selvfölgelig :)
Avatar billede michael_stim Ekspert
19. september 2003 - 10:13 #3
strsql = "SELECT TitelID FROM Titel"
' SQL sætning eksekveres
set RS = conn.execute(strsql)
do while not rs.EOF
=rs("TitelID") Selvfölgelig :)
=rs("Navn")
rs.moveNext
loop
Avatar billede michael_stim Ekspert
19. september 2003 - 10:14 #4
strsql = "SELECT TitelID, Navn FROM Titel"
' SQL sætning eksekveres
set RS = conn.execute(strsql)
do while not rs.EOF
=rs("TitelID") Selvfölgelig :)
=rs("Navn")
rs.moveNext
loop

//Nu skulle den vidst väre der, läste ikke spörgsmålet, sorry.
Avatar billede tblaster Nybegynder
19. september 2003 - 10:19 #5
Hvis jeg forstår dig rigtigt vil du lave den som følgende eller hva?:

    Sql= "SELECT * FROM Titel"
    Rs.Open Sql, Conn, 3, 3
    rs.AddNew
        rs("Navn") = Request.Form("Navn")
        rs.update

    Sql= "SELECT TitelID FROM Titel Where Navn = " & Request.Form("Navn")
    Rs.Open Sql, Conn, 1, 1
    do while not rs.EOF
        TitelID = rs("TitelID")
        rs.moveNext
    loop

Det er sådan jeg har lavet den førhen men det giver et probelm for hvis der allerede er et felt i databasen med navnet du har i din Request.Form("Navn") så får du din TitelID til at være den første den finder. Dette dur jo ikke ... jeg skal være sikker på at det der den jeg lige har smidt ind i databasen.
Avatar billede tblaster Nybegynder
19. september 2003 - 10:21 #6
Jeg kan jo ikke gå udfra at den nye værdi jeg smider ind i tabellen altid er den sidste jeg har i tabellen ... derfor vil jeg få fejl hvis jeg bruger en løkke som du forslog
Avatar billede michael_stim Ekspert
19. september 2003 - 10:23 #7
OKAY, nu tror jeg at jeg forstår (tog ikke så lang tid hva'). Du laver en kolonne der täller op automatisk.
Avatar billede -mundi- Nybegynder
19. september 2003 - 10:23 #8
sql="select top 1 titelid from titel order by titelid desc"
Rs.Open Sql, Conn, 1, 1
if not rs.eof then
  response.write rs.fields("titelid")
end if
Avatar billede swuppe Nybegynder
19. september 2003 - 10:25 #9
Avatar billede tblaster Nybegynder
19. september 2003 - 10:28 #10
munid ... hvad gør den der top 1?
Avatar billede tblaster Nybegynder
19. september 2003 - 10:34 #11
Der var noget godt på den side swupppe!

    Sql= "SELECT * FROM Titel"
    Rs.CursorLocation = 3
    Rs.Open Sql, Conn, 3, 3
    rs.AddNew
   
    rs("Navn") = Request.Form("Navn")
    rs.update
    KundeID = rs("KundeID")
Avatar billede swuppe Nybegynder
19. september 2003 - 10:35 #12
glæder mig !o)

tak for point
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