Avatar billede wekil Nybegynder
05. januar 2005 - 17:46 Der er 17 kommentarer og
1 løsning

slette ældste post i MsSQL database

Hvordan sletter jeg den ældset post i databasen
jeg har prøvet

SQL =
"DELETE FROM data WHERE id in (SELECT MIN(id) order by id)"
uden held

SQL = "DELETE FROM data WHERE id = varID"

den virker når jeg manuelt giver varID en værdi

hvordan får jeg varID til at tælle en op hele tiden
Avatar billede arne_v Ekspert
05. januar 2005 - 20:14 #1
SQL = "DELETE FROM data WHERE id = (SELECT MIN(id) FROM data)"

bør virke
Avatar billede wekil Nybegynder
05. januar 2005 - 20:18 #2
Det gør det ikke, hvor kan der være fejl
Avatar billede arne_v Ekspert
05. januar 2005 - 20:21 #3
Hvilken fejl besked får du ?
Avatar billede wekil Nybegynder
05. januar 2005 - 20:27 #4
HTTP 500 - Intern serverfejl
får jeg nu
Avatar billede wekil Nybegynder
05. januar 2005 - 20:37 #5
[TCX][MyODBC]You have an error in your SQL syntax near '= (SELECT MIN(id) order by id)' at line 1

når jeg sætter = ind foran (SELECT
Avatar billede arne_v Ekspert
05. januar 2005 - 20:42 #6
MyODBC ?

bruger du MySQL eller MS SQLServer ?
Avatar billede wekil Nybegynder
05. januar 2005 - 20:44 #7
ØH øjeblik
Avatar billede wekil Nybegynder
05. januar 2005 - 20:45 #8
DRIVER={MySQL};SERVER=mysql står der i connection strengen
Avatar billede wekil Nybegynder
05. januar 2005 - 20:48 #9
SQL = "DELETE FROM data WHERE id = (SELECT MIN(id) order by id)"
Nu er teksten som du skriver, jeg havde lavet en fejl
så er fejlen

Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near 'SELECT MIN(id) order by id)' at line 1
Avatar billede arne_v Ekspert
05. januar 2005 - 20:48 #10
Så er det jo MySQL.

Og medmindre det er nyeste version (4.1) så kan du ikke lave den subquery.

Jeg er bange for at du bliver nødt til at lave to queries så:

SELECT MIN(id) FROM data

og

DELETE FROM data WHERE id = X
Avatar billede wekil Nybegynder
05. januar 2005 - 20:56 #11
det er ikke version 4.1

men så har jeg et problem hvordan finder jeg x
Avatar billede arne_v Ekspert
05. januar 2005 - 20:58 #12
Du finder X med den første query.
Avatar billede wekil Nybegynder
05. januar 2005 - 21:03 #13
ok jeg har lavet et recordsæt hovr jeg finder ældste post, så mangler jeg bare at få den slettet :)
Avatar billede wekil Nybegynder
05. januar 2005 - 21:13 #14
Det kan godt være det lyder dumt, men jeg kan ikke komme til frem til hvordan jeg kun får slettet en post (den jeg har fundet)
Avatar billede arne_v Ekspert
05. januar 2005 - 21:56 #15
Prøv noget a la:

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT MIN(id) AS x FROM data",con
x = rs("x")
con.Execute "DELETE FROM data WHERE id = " & x
Avatar billede wekil Nybegynder
05. januar 2005 - 22:38 #16
Det går ikke lige nu, jeg prøver i morgen
Avatar billede wekil Nybegynder
06. januar 2005 - 10:47 #17
Jeg har fundet ud af det nu
fordi du gav mig troen på at SELECT MIN(id) AS x FROM data var rigtig
du får point
Jeg kan ikke skrive koden fordi jeg deleter ved at bruge 2 asp sider
en der vælger hvad der skal slettes og en der slettet det valgte, jeg ville gerne have lavet det på en side, men det her er OK
Avatar billede arne_v Ekspert
06. januar 2005 - 10:55 #18
så ligger jeg et 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