/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Indsæt ny linje i database...
Fra : René Poulsen


Dato : 06-11-03 14:12

Hej igen igen!

Jeg har en database med f.eks. disse er linjer:

(ID) 1, (bogstav) B, (nr. i alfabet) 2
2, C, 3
3, D, 4

osv...

Så vil jeg så gerne give brugere af siden sætte nye poster ind i
databasen. F.eks.:

(ID), A, 1

Jeg vil så gerne have at A kommer til at have ID=1, så de andres
ID forhøjes med en. Kan dette gøres?

/René

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Lars Hoffmann (06-11-2003)
Kommentar
Fra : Lars Hoffmann


Dato : 06-11-03 14:20

"René Poulsen" <fcpoulsen@hotmail.com> escribió

> Jeg vil så gerne have at A kommer til at have ID=1, så de andres
> ID forhøjes med en. Kan dette gøres?

Jeg er ikke helt sikker på hvad du mener, men måske et
autonummereringsfelt kan gøre tricket?
Med venlig hilsen
Lars Hoffmann



Jens Gyldenkærne Cla~ (06-11-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 06-11-03 14:40

Lars Hoffmann skrev:

>> Jeg vil så gerne have at A kommer til at have ID=1, så de andres
>> ID forhøjes med en. Kan dette gøres?

> Jeg er ikke helt sikker på hvad du mener, men måske et
> autonummereringsfelt kan gøre tricket?

Nej.

René har tabeldata:

1, B, 2
2, C, 3
3, D, 4

- og vil indsætte (1, A, 1) så han får:

1, A, 1
2, B, 2
3, C, 3
4, D, 4

(så vidt jeg kan se af hans indlæg).

Det kan ikke klares med autonummerering. Det er mulig at løse det
hvis man kender det ID-nummer der skal sættes ind:

myID = 1

strSQL = "UPDATE tabel SET ID = ID + 1 WHERE ID >= " & myID

' Herefter indsættes data som normalt.

Men hvis ID er primærnøglen for tabellen, er det en meget dårlig
ide at opdatere den. Primærnøgler skal ikke (nødvendigvis) være
informative - men de skal være unikke og (helst) uforanderlige over
tid.


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

René Poulsen (06-11-2003)
Kommentar
Fra : René Poulsen


Dato : 06-11-03 14:59

Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Lars Hoffmann skrev:
>
> >> Jeg vil så gerne have at A kommer til at have ID=1, så de andres
> >> ID forhøjes med en. Kan dette gøres?
>
> > Jeg er ikke helt sikker på hvad du mener, men måske et
> > autonummereringsfelt kan gøre tricket?
>
> Nej.
>
> René har tabeldata:
>
> 1, B, 2
> 2, C, 3
> 3, D, 4
>
> - og vil indsætte (1, A, 1) så han får:
>
> 1, A, 1
> 2, B, 2
> 3, C, 3
> 4, D, 4
>
> (så vidt jeg kan se af hans indlæg).
>
> Det kan ikke klares med autonummerering. Det er mulig at løse det
> hvis man kender det ID-nummer der skal sættes ind:
>
> myID = 1
>
> strSQL = "UPDATE tabel SET ID = ID + 1 WHERE ID >= " & myID
>
> ' Herefter indsættes data som normalt.
>
> Men hvis ID er primærnøglen for tabellen, er det en meget dårlig
> ide at opdatere den. Primærnøgler skal ikke (nødvendigvis) være
> informative - men de skal være unikke og (helst) uforanderlige over
> tid.

Det er lige nøjagtigt sådan jeg vil have det! Nu var eksemplet med
bogstaver måske heller ikke så godt - jeg vil bare have at hver gang
jeg sætter en ny linje ind, så får den ID=1 og de andre forhøjes.

Hvis det ikke er smart at bruge primærnøglen kan jeg jo bare lave en
ny der hedder ID2 og bruge den istedet...?!

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (06-11-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 06-11-03 15:05

René Poulsen skrev:

> Det er lige nøjagtigt sådan jeg vil have det! Nu var eksemplet
> med bogstaver måske heller ikke så godt - jeg vil bare have at
> hver gang jeg sætter en ny linje ind, så får den ID=1 og de
> andre forhøjes.

Må man spørge hvad du skal bruge det til? Umiddelbart lyder det som
om nummereringen lige så godt kunne foretages når du skal trække
tallene ud.


> Hvis det ikke er smart at bruge primærnøglen kan jeg jo bare
> lave en ny der hedder ID2 og bruge den istedet...?!

Ja - det vil være bedre. Hvis du altid skal forhøje samtlige numre
(fordi du sætter 1 ind som det nye), behøver du i øvrigt ikke noget
kriterium i opdateringsforespørgslen - bare brug:

UPDATE tabel SET id2 = id2 + 1
- og så
INSERT INTO tabel (id2, felt2) VALUES (1, ...)


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

René Poulsen (06-11-2003)
Kommentar
Fra : René Poulsen


Dato : 06-11-03 15:13

Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:

> Må man spørge hvad du skal bruge det til? Umiddelbart lyder det som
> om nummereringen lige så godt kunne foretages når du skal trække
> tallene ud.

Det her er ikke noget jeg skal bruge til noget specielt lige nu. Jeg
sidder engang imellem og "lejer" lidt med det for at finde ud af nye
ting. Jeg har ikke lært så fan**** meget endnu

Men endnu engang tak for hjælpen.

/René

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste