Avatar billede madssch Nybegynder
20. februar 2004 - 11:57 Der er 6 kommentarer og
1 løsning

Hent nyeste ID

Hej Eksperter!

Jeg er for nyligt gået over til at benytte MSSQL istedet for Access. Det har giv mig et problem med noget kode som jeg normalt benytter mig af.

Problem:

Jeg skal sende data i 2 tabeller. Til tabel nummer 2 skal jeg bruge tabel nummer 1's nyoprettede ID. Det fungerer åbenbart ikke som jeg plejer!

Eksempel:

Set opdatering = Server.CreateObject("ADODB.RecordSet")
Query_program = "Select programId, typeId, programnavn, afsnit, baandId, tidskode_start, tidskode_slut, varighed, oplaeg, nedlaeg, dato From programmer"
opdatering.open Query_program, objConnect, adOpenStatic, adLockOptimistic

opdatering.addnew

    opdatering("typeId") = Trim(Request.Form("typeId"))
    opdatering("programnavn") = Trim(Request.Form("programnavn"))
    opdatering("afsnit") = Trim(Request.Form("afsnit"))
    opdatering("baandId") = Trim(Request.Form("baandId"))
    opdatering("tidskode_start") = Trim(Request.Form("tidskode_start"))
    opdatering("tidskode_slut") = Trim(Request.Form("tidskode_slut"))
    opdatering("varighed") = Trim(Request.Form("varighed"))
    opdatering("oplaeg") = Trim(Request.Form("oplaeg"))
    opdatering("nedlaeg") = Trim(Request.Form("nedlaeg"))
    opdatering("dato") = Date
       
opdatering.update

    intProgramId = opdatering("programId")

opdatering.close

   
Set opdatering = Server.CreateObject("ADODB.RecordSet")
Query_epg = "Select programId, programnavn, beskrivelse_kort, beskrivelse_lang, minimum_alder, kategoriId From programmer_epg"
opdatering.open Query_epg, objConnect, adOpenStatic, adLockOptimistic

opdatering.addnew

    opdatering("programId") = intProgramId
    opdatering("programnavn") = Trim(Request.Form("epg_programnavn"))
    opdatering("beskrivelse_kort") = Trim(Request.Form("epg_beskrivelse_kort"))
    opdatering("beskrivelse_lang") = Trim(Request.Form("epg_beskrivelse_lang"))
    opdatering("minimum_alder") = Trim(Request.Form("epg_alder"))
    opdatering("kategoriId") = Trim(Request.Form("epg_kategoriId"))
       
opdatering.update
opdatering.close


Jeg har læst, at jeg skal benytte @@IDENTITY-funktionen - men hvordan får jeg den koblet på mit eksisterende kode?

På forhånd tak!
Avatar billede mm12010 Nybegynder
20. februar 2004 - 11:59 #1
Avatar billede madssch Nybegynder
20. februar 2004 - 12:05 #2
Som jeg ser det skal jeg - hvis jeg benytter dette forslag - omskrive hele min kode, og istedet benytte INSERT-funktionen.

Er det virkelig nødvendigt?

Kan jeg ikke gøre noget ud fra min eksisterende kode?
Avatar billede mm12010 Nybegynder
20. februar 2004 - 12:10 #3
tror ikke det gør nogen forskel hvordan du indsætter i din DB, prøv tilføje følgende:

SQL = "Select @@Identity From programmer_epg"
Set rs = Conn.Execute(SQL)
Response.Write rs(0)
Avatar billede mm12010 Nybegynder
20. februar 2004 - 12:10 #4
Set rs = objConnect.Execute(SQL)
Avatar billede madssch Nybegynder
20. februar 2004 - 12:13 #5
RS(0) indeholder ikke noget..?
Avatar billede madssch Nybegynder
20. februar 2004 - 13:21 #6
Jeg har valgt at omskrive min kode til "Insert"-funktionen istedet.

Spørgsmålet er lukket.
Avatar billede madssch Nybegynder
20. februar 2004 - 13:21 #7
SVAR
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