/ 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/slet i database
Fra : Jimmy Snedker


Dato : 22-11-02 11:48

Hej Alle!

Jeg har en asp-side(se nedenunder) der trækker oplysninger ud af
en formular (dato - tekst). Oplysninger bliver
sendt videre til min db i tabellen 'dknews' (mdb 2002). Det er
meningen
at tabellen kun skal indholde 4 poster med tekst/dato. dvs. 5.
gang man skriver oplysninger inde fra formularen skal posten med
det
minste id-nummer slettes (bruger autonummering) i tabellen....men
hvordan?? håber nogle kan hjælpe?

Med venlig hilsen

Jimmy

nuværende asp:

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("mindatabase.mdb")
Conn.Open DSN



' SQL sætning opbygges
strSQL = "Insert into dknews (tekst, dato) values('" &
Request.Form("tekst") & "','" & Request.Form("dato") & "')"


' SQL sætning eksekveres
Conn.Execute(strSQL)
%>

--
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~ (22-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 22-11-02 12:10

Jimmy Snedker skrev:

> at tabellen kun skal indholde 4 poster med tekst/dato. dvs. 5.
> gang man skriver oplysninger inde fra formularen skal posten med
> det
> minste id-nummer slettes (bruger autonummering) i tabellen....men
> hvordan?? håber nogle kan hjælpe?

Med mindre du har pladsproblemer ville jeg lade indlæggene stå og
så bare nøjes med at trække de 4 nyeste ud hver gang:

SELECT TOP 4 * FROM dknews ORDER BY newsid DESC

Så kan du evt. en gang imellem køre en oprydningsforespørgsel a la:

DELETE * FROM dknews
WHERE newsid NOT IN
   (SELECT TOP 4 newsid FROM dknews ORDER BY ID DESC)


Hvis du _vil_ have at der maks er 4 poster i tabellen kan du køre
ovenstående hver gang du har sat data ind.
--
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

Jesper Stocholm (22-11-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 22-11-02 12:21

Jens Gyldenkærne Clausen wrote :

> Jimmy Snedker skrev:

> Med mindre du har pladsproblemer ville jeg lade indlæggene stå og
> så bare nøjes med at trække de 4 nyeste ud hver gang:
>
> SELECT TOP 4 * FROM dknews ORDER BY newsid DESC

selvom jeg nok ved, at du er klar over det, så kunne det jo hjælpe andre:

*-angivelsen er ikke god at anvende - der bør i stedet skrives eksplicit
hver kolonne, der hentes ud af tabellen. Dette vil bevirke, at man kun
tager de kolonner ud, der skal bruges, men - imo mere vigtigt - det
bliver muligt fra koden at se, hvilke kolonner der hentes fra tabellen.

Koden kunne så være

SELECT TOP 4 Kol1,Kol2,Kol3 FROM dknews ORDER BY newsid DESC



--
Jesper Stocholm
http://stocholm.dk
Ny FAQ for dk.edb.internet.webdesign.serverside.asp
se http://asp-faq.dk

Jimmy Snedker (22-11-2002)
Kommentar
Fra : Jimmy Snedker


Dato : 22-11-02 12:40

Hej!

Jeg glemte fortælle at jeg er nybegynder indefor asp'en..så hvor skal hvad
indsættes??

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("mindatabase.mdb")
Conn.Open DSN



' SQL sætning opbygges
strSQL = "Insert into dknews (tekst, dato) values('" &
Request.Form("tekst") & "','" & Request.Form("dato") & "')"


' SQL sætning eksekveres
Conn.Execute(strSQL)
%>

--
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~ (22-11-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 22-11-02 12:47

Jimmy Snedker skrev:

> Jeg glemte fortælle at jeg er nybegynder indefor asp'en..så
> hvor skal hvad indsættes??

Fra din nuværende aspkode:

' SQL sætning opbygges
strSQL = "Insert into dknews (tekst, dato) values('" &
Request.Form("tekst") & "','" & Request.Form("dato") & "')"


' SQL sætning eksekveres
Conn.Execute(strSQL)

Herefter skal du - hvis du bare vil slette ekstraposter hver gang -
indsætte:

' Slet gamle poster:

strSQL = "DELETE * FROM dknews WHERE newsid NOT IN " & _
   "(SELECT TOP 4 newsid FROM dknews ORDER BY ID DESC)"

Conn.Execute(strSQL)


Du har ikke vist hvordan du trækker data ud - hvis du ville bruge
det første forslag - men der hvor du opbygger din sqlsætning skal
du i stedet for en "rå" select uden kriterier skrive

SELECT TOP 4 tekst, dato FROM dknews ORDER BY newsid DESC
--
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

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

Månedens bedste
Årets bedste
Sidste års bedste