Avatar billede henrik2000 Nybegynder
12. februar 2002 - 09:55 Der er 15 kommentarer og
1 løsning

indsætte tal +1 i database

Hej!

hvordan indsætter jeg en talrække i en database, hvis jeg ikke vil bruge identity i SQL Serveren?

jeg bruger bl.a. følgende kode:

File_ID  = ?

objRs.AddNew
objRs("File_ID")  = File_ID
objRs("File_Name")  = FileName
objRs.Update
Next

File_ID skal så "tælle" et tal op hver gang, således at den indsætter 1,2,3,4,5 o.s.v. alt efter hvor mange filer jeg indsætter i loopen.

Avatar billede rune_c Nybegynder
12. februar 2002 - 09:57 #1
du skal sætte File_ID til at være autonummering og så bliver det:

objRs.AddNew
objRs("File_Name")  = FileName
objRs.Update
Next
Avatar billede henrik2000 Nybegynder
12. februar 2002 - 10:02 #2
jeg vil jo netop lave det uden "identity" som det hedder i SQL Server, altså autonummering. Jeg skal bruge ID`et til noget andet også.
Så jeg vil tælle en op hver gang jeg indsætter i databasen i stedet.
Avatar billede rune_c Nybegynder
12. februar 2002 - 10:04 #3
så må du jo hente den største værdi i kolonen File_ID og lægge 1 til.
Avatar billede henrik2000 Nybegynder
12. februar 2002 - 10:07 #4
det er jo det der er mit spørgsmål. Hvordan lægger jeg en til hver gang jeg skriver File_ID ned i databasen?
Avatar billede rune_c Nybegynder
12. februar 2002 - 10:07 #5
SQL = "Select Top 1 as tal from tabel ordre by File_ID"
set rs = Conn.execute("SQL")

File_ID = rs("tal") + 1

cirka sådan...
Avatar billede rune_c Nybegynder
12. februar 2002 - 10:11 #6
men hvorfor ikke bruge identity istedet, det bliver jo det samme resultat og bliver udført hurtigere...
Avatar billede henrik2000 Nybegynder
12. februar 2002 - 10:16 #7
Jeg vil gerne indsætte ID`et fra identity/id-feltet i en anden tabel også.

hvis jeg indsætter en fil et tabel1, så laver den automatisk et id (tal). Det tal skal jeg så indsætte i tabel2 også.

nogen andre forslag?
Avatar billede rune_c Nybegynder
12. februar 2002 - 10:21 #8
insert into tabel2 (felt, felt2, felt3) values ('"& File_ID &"','dfdf','fddf')
Avatar billede henrik2000 Nybegynder
12. februar 2002 - 10:26 #9
jeg kan ikke helt få fat i ID`et fra tabel1...
men det hedder i hvert fald
SQL = "Select Top 1(File_ID) as tal from tabel ordre by File_ID"
Avatar billede rune_c Nybegynder
12. februar 2002 - 10:28 #10
SQL = "Select Top 1(File_ID) as tal from tabel order by File_ID"

order var stavet forkert, min fejl
Avatar billede henrik2000 Nybegynder
12. februar 2002 - 10:32 #11
ja, men du havde glemt parentesen med file_id efter top 1...

men det virker ikke helt...
Avatar billede rune_c Nybegynder
12. februar 2002 - 10:35 #12
hvilket??
Avatar billede rune_c Nybegynder
12. februar 2002 - 10:35 #13
kan du stadigvæk ikke få den til at hente den højeste værdi
Avatar billede henrik2000 Nybegynder
12. februar 2002 - 10:37 #14
nej
jeg skal bare indsætte en talrække (1,2,3 o.s.v.), det er faktisk lige meget om den starter på 1 eller hvad.
Avatar billede rune_c Nybegynder
12. februar 2002 - 10:41 #15
Avatar billede henrik2000 Nybegynder
12. februar 2002 - 11:00 #16
tak for tippet. Den kigger jeg på!
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