Avatar billede Slettet bruger
10. februar 2002 - 12:42 Der er 13 kommentarer og
2 løsninger

Script der sletter felter fra en database der er ændre en 10 dage.

Hejsa

Jeg skal bruge et system der sletter alle de felter der er over 10 dage gammel, bare ved at kører scriptet.

Hvordan kan det laves ???
Avatar billede crunch Nybegynder
10. februar 2002 - 12:50 #1
måske skulle du prøve noget i denne her retning.

datonu=date()
SQL = "DELETE * FROM tabel WHERE (#"&dato&"# < datonu -10)"
conn.execute(SQL)

husk at feltet med dato skal være datofelt i dbén...
Avatar billede aey Nybegynder
10. februar 2002 - 12:50 #2
du er nok nødt til at komme med lidt flere oplysninger, som f.eks. databasetype, er posterne tidsstemplede osv.
Avatar billede Slettet bruger
10. februar 2002 - 12:59 #3
Det er mysql database.

Lige nu har jeg en et felt med en data som denne: 10-02-2002
Avatar billede Slettet bruger
10. februar 2002 - 13:03 #4
Tabel: spil
Felter: navn, dato, kl
Navn: Et navn
Dato: en dato som dennne 10-02-2002
kl: 17:25:15
Avatar billede Slettet bruger
10. februar 2002 - 13:13 #5
crunch har du en ide ??
Avatar billede crunch Nybegynder
10. februar 2002 - 13:32 #6
datonu=date()
SQL = "DELETE * FROM spil WHERE (#"&Dato&"# < datonu -10)"
conn.execute(SQL)
Avatar billede Slettet bruger
10. februar 2002 - 13:53 #7
ok, men ved du så hvordan jeg få datonu til at være år-md-dag, for sådan kører det i mydql :)
Avatar billede crunch Nybegynder
10. februar 2002 - 14:16 #8
jeg bruger også MySQL engang imellem. og det plejer ikke at være noget problem. Istedet for at lave en autooprettelse, eller hvad du nu gør, så indsæt den rigtig dato når du opretter posten.

hvis du sætter dato til:

dato = day(date) &"-"&month(date)&"-"&year(date)

- så kommer den rigtigt ind i dbén.
Avatar billede Slettet bruger
10. februar 2002 - 19:49 #9
ok, det har jeg gjordt nu, men når jeg kører denne: SQL = "DELETE * FROM spil WHERE (#"&Dato&"# < datonu -10)" så kommer den med en fejl :(
Avatar billede crunch Nybegynder
10. februar 2002 - 19:52 #10
hvilken fejl ?
Avatar billede Slettet bruger
10. februar 2002 - 21:07 #11
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near '* FROM spil WHERE (## < 2002-2-10 -10)' at line 1
Avatar billede Slettet bruger
10. februar 2002 - 21:24 #12
Dette:
<%
datonu = Datepart("yyyy",Date) &"-"& DatePart("m", date) &"-"& DatePart("d", Date)
Conn.Execute("DELETE FROM spil WHERE (#"&Dato&"# < datonu -10)")
%>
Giver dette:
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near '' at line 1

/faq.asp, line 66
Avatar billede crunch Nybegynder
10. februar 2002 - 21:58 #13
det er svært for mig at sige. Prøv f.eks. at sætte datonu til en bestemt værdi, prøv at debugge dig frem - og isoler hvor i sætningen det går galt.
prøv evt. at lave din beregning udenfor....

datonu = Datepart("yyyy",Date) &"-"& DatePart("m", date) &"-"& (DatePart("d", Date) - 10)
Conn.Execute("DELETE FROM spil WHERE (#"&Dato&"# < #"&datonu&"#)")
Avatar billede Slettet bruger
10. februar 2002 - 23:03 #14
Skal der oprettes en anden forbindelse til databasen hvor den finder indholdet eller hvad ???
Avatar billede Slettet bruger
11. februar 2002 - 00:03 #15
Sådan her er det jeg har fået lavet :)
<%
DatoFind = DateAdd("d", -10, Date)
Datoslet = Datepart("yyyy",DatoFind) &"-"& DatePart("m", DatoFind) &"-"& DatePart("d", DatoFind)
Conn.Execute("DELETE FROM Spil WHERE (dato < '" & Datoslet & "')")
%>
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