Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Come cancellare dei record da MSSQL Server dopo un certo periodo

    Ciao a tutti,

    vi riassumo brevemente la situazione: inserisco un record in una tabella temporanea e includo nel record anche la data di inserimento del record stesso utilizzando il "NOW":

    codice:
    SQLString = "insert into tbl_Carrello(id_user, code_no, qty, produttore, prodotto, prodotto_ext, prezzo, prezzo_promo, denominazione, contenuto, min_qty, referrer, annata, data) "
    
    SQLString = SQLString & "values(" & session.sessionId & ", " & id & ", " & qta & ", '" & produttore & "', '" & prodotto & "', '" & prodotto_ext & "', " & prezzo & ", " & prezzo_promo & ", '" & denominazione & "', '" & contenuto & "', '" & min_qty & "', '" & referrer & "', " & annata & ", '" & now & "')"
    La data viene scritta così (la vado a leggere mediante Access): 22/03/2009 19.51.45

    Ogni notte eseguo (grazie a un sito esterno che mi richiama una certa pagina asp) manutenzione del sito e vorrei cancellare le righe più vecchie di 24 ore dalla suddetta tabella.

    Ho provato a fare così per selezionare le righe più vecchie di 24 ore:

    codice:
    data_vecchia = DateAdd("h", -24, now)
    SQLString = "select * FROM tbl_Carrello WHERE data < '" & data_vecchia & "'"
    ma ottengo questo errore:
    "La conversione del tipo di dati da char a datetime ha generato un valore di tipo datetime non compreso nell'intervallo dei valori consentiti."

    Ho cercato sul forum e devo dire che ho le idee estremamamente confuse... qual'è il sistema più semplice per farlo? Mi dareste una dritta?

    Grazie a tutti!
    Ciao
    Andrea Mazzai

  2. #2
    farlo fare a SQL!

    codice:
    SQLString = "select * FROM tbl_Carrello WHERE data < DateAdd(hour, -24, GetDate())"

  3. #3
    :-) Funziona benissimo, ti ringrazio.

    Questo il codice che uso:

    codice:
    	StrConn = Application("Conn_String") ' Questo è comune a tutti
    	Set conn = Server.CreateObject("ADODB.Connection")
    	conn.open Strconn
    	SQLString = "delete FROM tbl_Carrello WHERE data < DateAdd(hour, -24, GetDate())"
    	conn.execute SQLstring
    	conn.close
    Grazie mille davvero!
    Andrea
    Andrea Mazzai

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.