ho una tabella di un db
che contiene i messaggi degli utenti con relativa Data_Messaggio in formato now()
posso eliminare tutti i record relativi alla data di un mese fa?
mille grazie![]()
ho una tabella di un db
che contiene i messaggi degli utenti con relativa Data_Messaggio in formato now()
posso eliminare tutti i record relativi alla data di un mese fa?
mille grazie![]()
L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)
Fai una query con sintassi WHERE .
Per avere la data del mese scorso puoi usare DateAdd sottraendo un mese.
potresti aiutarmi solo sul date addcodice:<% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("data.mdb") Set rs=Server.CreateObject("ADODB.RecordSet") strsql = “delete * from Miniblog where Data_Messaggio” con.execute(strsql) rs.close set rs=nothing conn.close set conn=nothing %>![]()
L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)
http://msdn.microsoft.com/library/de...fctdateadd.asp![]()
DateAdd("m", -1, Now())
:master: mi da quest errorecodice:<% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("datab.mdb") Set rs=Server.CreateObject("ADODB.RecordSet") ddel= DateAdd("m", -1, Now()) sql="delete * from Miniblog where Data_Messaggio=ddel" rs.Open sql,Conn,3,3 if not rs.eof then response.Write "Messaggi eliminati correttamente" end if rs.close Set rs=Nothing Conn.close Set Conn=Nothing %>
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/bbart/delete.asp, line 10
L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)
ddel è una variabile
codice:sql="delete * from Miniblog where Data_Messaggio= #" & ddel & "#"
Mi dice messaggio eliminato correttamente e non da errori ma non cancella dal db :master:
riposto tutto il codice
codice:<% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("data.mdb") Set rs=Server.CreateObject("ADODB.RecordSet") ddel= DateAdd("m", -1, Now()) sql="delete * from Miniblog where Data_Messaggio= #" & ddel & "#" rs.Open sql,Conn,3,3 response.Write "Messaggi eliminati correttamente" Set rs=Nothing Conn.close Set Conn=Nothing %>
L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)
prova così
codice:<% Function FormatDateForDB(data) FormatDateForDB = Year(data)&"/"&Month(data)&"/"&Day(data) & " " & hour(data) & ":" & minute(data) & ":" & second(data) End function Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("data.mdb") Set rs=Server.CreateObject("ADODB.RecordSet") ddel= DateAdd("m", -1, Now()) ddel = FormatDateForDB(ddel) sql="delete * from Miniblog where Data_Messaggio= #" & ddel & "#" rs.Open sql,Conn,3,3 response.Write "Messaggi eliminati correttamente" Set rs=Nothing Conn.close Set Conn=Nothing %>
Un delete non si apre, si esegue con la sintassi .Execute
secondo me, con WHERE Data = qualcosa non cancellera' mai niente. se la data e' stata registrata =Now() bisognerebbe beccare anche hh:mm:ss uguali... proverei con WHERE Data < qualcosa. cosi' cncelera' tutti i record che piu' vecchi di un mese.