webForumDet fria alternativet

Radera efter dagens datum

41 svar · 1 451 visningar · startad av Biasse

BiasseMedlem sedan aug. 2003480 inlägg
#1

Sitter och försöker få en funktion för detta och läst era tidigare trådar. Men när jag lägger in den jag fått fram raderar den hela databasen fast det finns poster som inte gått ut än.

<%
Sub DeleteSiten

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbnamn

Conn.Execute("DELETE FROM kalender WHERE datum <= dateadd('d', -1, date())")
Conn.Close
Set Conn = Nothing

End sub
DeleteSiten
%>
EclipseMedlem sedan juli 20003 825 inlägg
#2

Jag har aldrig tagit bort nåt utan stjärnan... men tror egentligen att det är brädgårdarna som du ska fokusera på. Datum utan brädgårdar fungerar GARANTERAT INTE.

	' ## DELETE SELECTED POST
	SQL = "DELETE * FROM [" & myTable & "] WHERE [intID] = " & myVar & ";"
	Conn.Execute(SQL)
Conn.Execute("DELETE FROM kalender WHERE datum <= #" & dateadd('d', -1, date()) & "#;")

Jag brukar heller aldrig skriva allt i en rad, just för det blir så lurigt med alla fjumpar...

EclipseMedlem sedan juli 20003 825 inlägg
#3

43 dagar gamla poster:

' ## DELETE OLD POST IN HTTP_REFERER-LOG -- 42 DAYS = 6 WEEKS
SQL = "DELETE * FROM [referer] WHERE dteCreated <#" & dateAdd("d", -43, date()) & "#;"
Conn.Execute(SQL)
SQL = "DELETE * FROM [log] WHERE dteCreated <#" & dateAdd("d", -43, date()) & "#;"
Conn.Execute(SQL)
SQL = "DELETE * FROM [developer] WHERE dteCreated <#" & dateAdd("d", -43, date()) & "#;"
Conn.Execute(SQL)
BiasseMedlem sedan aug. 2003480 inlägg
#4

Ser ut så här nu men den raderar inte post alls nu

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbnamn

SQL = "DELETE * FROM kalender WHERE datum <#" & dateAdd("d", -1, date()) & "#;"
Conn.Execute(SQL)

Conn.Close
Set Conn = Nothing
%>
LarsGMedlem sedan dec. 200012 464 inlägg
#5

Det är inget fel på din första fråga. Vad har kolumnen datum för datatyp?

BiasseMedlem sedan aug. 2003480 inlägg
#6

Det är ett kalenderskript som skriver in datumet som tex. 2008-02-24

Kolumnen har: Datum/tid & kort datum

EclipseMedlem sedan juli 20003 825 inlägg
#7

Kanske datum är reserverat? Använd klamrarna i så fall:

SQL = "DELETE * FROM [b][kalender][/b] WHERE [b][datum][/b] <#" & dateAdd("d", -1, date()) & "#;"
BiasseMedlem sedan aug. 2003480 inlägg
#8

Det hjälpte inte..

EclipseMedlem sedan juli 20003 825 inlägg
#9

OK, men är du säker på att:

[kalender]
datum <-- = Datum/tid

EclipseMedlem sedan juli 20003 825 inlägg
#10

OK, kolla detta då!!

Uppdaterar du rätt fil!?!?

BiasseMedlem sedan aug. 2003480 inlägg
#11

Data typen för [datum] är datum/tid ja.

Kan det spela nån roll var på sidan jag lägger in det?

EclipseMedlem sedan juli 20003 825 inlägg
#12

Vad menar du? Var lägger du koden nu...!?

Rent generellt, ASP läser sidan FÖRST och skickar *den färdiga sidan* till klienten, så det ska gå bra att lägga koden var som helst på sidan.

EclipseMedlem sedan juli 20003 825 inlägg
#13

Två frågor:

1. Har dbnamn fått ett namn tilldelat på samma sida?
2. Finns snutten: "on error resume next" på denna sidan? Om ja, kommentera bort den i så fall.

EclipseMedlem sedan juli 20003 825 inlägg
#14

Fungerar denna...!? (Har du en fungerande koppling...???)

SQL = "SELECT [datum] FROM [kalender];"
Set mySQL = Conn.Execute(SQL)

IF NOT mySQL.EOF THEN response.write "very good...!! "
BiasseMedlem sedan aug. 2003480 inlägg
#15

Så här ser det ut. Kopplingen är det inget fel på för den läser top 5.

<%
Dim dbnamn
dbnamn = Server.MapPath("pagang.mdb")	' Databasens sökväg
%>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbnamn

SQL = ("DELETE * FROM [kalender] WHERE [datum] <#" & dateAdd("d", -1, date()) & "#;")
Conn.Execute(SQL)

Conn.Close
Set Conn = Nothing
%>

<html>
<head>
<link rel="stylesheet" type="text/css" href="til.css" media="screen"/>
<title></title>
</head>
<body>

<div class="hoger2" style="width: 100%; height: 1200px;">

<% IF Request.Querystring("vad") = "femsenaste" THEN %>

<div style="position:absolute;top:0%;left:15%">

<font color="#ff3300" face="Verdana" size="2">På Gång Snart...</font>

<table width="200" border="0" cellpadding="0" cellspacing="0" bordercolor="#000000">

<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbnamn

Set RS = Conn.Execute("SELECT TOP 5 * FROM kalender ORDER BY DATUM ASC") 
Do Until RS.EOF 
%>

<div align="center">
<tr>
<td width="230"><font color="#f4f4f4" face="Verdana" size="1"><a target="underst" href="../nyheter/nyheter.asp?id=

<%=RS("id")%>

">

<%=RS("rubrik")%>

</a></td>
</tr>

<%
RS.MoveNext 
Loop 
RS.Close 
Set RS = Nothing
END IF 
%>

</table>
</div>
</body>
</html>

EclipseMedlem sedan juli 20003 825 inlägg
#16

Testa att ta bort paranteserna i koden som inte fungerar.

Kolla mitt exempel ovan. Annars kan du också skriva alla kod på en rad som du gjorde från början, om du nu trivs bättre med det. Glöm inte brädgårdarna vid fråga med datum!

EclipseMedlem sedan juli 20003 825 inlägg
#17

Tips för sökväg till databas. Om du vill kan du lägga sökvägen till databasen i en session i global.asa och sen ropa på den.

Du kan inte använda server.MapPath i global.asa för den frågar om sökvägen *till respektive fil* som anropar, inte sökvägen till global.asa ...

Men det är bara ett problem EN gång.

Kolla denna felpostningen som jag gjorde:
http://www.webforum.nu/showthread.php?p=1393492#post1393492

BiasseMedlem sedan aug. 2003480 inlägg
#18

Har provat:

SQL = ("DELETE * FROM [kalender] WHERE [datum] <#" & dateAdd("d", -1, date()) & "#;")
SQL = "DELETE * FROM [kalender] WHERE [datum] <#" & dateAdd("d", -1, date()) & "#;"
SQL = "DELETE * FROM kalender WHERE datum <#" & dateAdd("d", -1, date()) & "#;"

Dom funkar inte.

BiasseMedlem sedan aug. 2003480 inlägg
#19

Men databaskopplingen funkar som den är. Lägger jag in en händelse i kalendern 13/2 så borde den försvinna när jag laddar om sidan.

BiasseMedlem sedan aug. 2003480 inlägg
#20

Testade en anna variant men det gick inte bättre.

<%
Response.Buffer=True

Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\diggers\kalender\pagang.mdb"

Set rs2 = Server.CreateObject("ADODB.Recordset")
strsql = "SELECT * FROM kalender"
rs2.Open strsql, objConnection, 3, 3

strSQL="delete from kalender where [datum]<#" & DateAdd("d",-1,Date()) & "#;"
objConnection.Execute strSQL,,128

rs2.Close
objConnection.Close
Set rs2 = Nothing
Set objConnection = Nothing
%>
139 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)