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

    Inserimento date SQL server da ASP.NET

    Sto instanziando un piccolo motore per le statistiche.
    Per salvare i dati in un db SqlExpress uno questo codice
    codice:
    PV_sql = "INSERT INTO Statistiche (Date,Url,IpAddress,Referer,UserAgent) " +
                "VALUES(" +
                "" + System.DateTime.Now.ToShortDateString() + "," +
                "'" + Request.ServerVariables["URL"] + "'," +
                "'" + Request.ServerVariables["REMOTE_ADDR"] + "'," +
                "'" + Request.ServerVariables["HTTP_REFERER"] + "'," +
                "'" + Request.ServerVariables["HTTP_USER_AGENT"] + "')";
    Solo che non mi riporta correttamente la data/ora... la insert viene formata correttamente ma nel db mi ritrovo sempre 01/01/1900 0.00.00
    C'è da fare qualche conversione strana?
    Non e' bello cio' che e' bello... ma che bello che bello che bello...
    Utonter. Il silenzio degli ignoranti

  2. #2
    Utente di HTML.it L'avatar di geko
    Registrato dal
    Dec 2004
    Messaggi
    104
    Per evitare problematiche di correttezza sui tipi, conversioni, sicurezza etc.. ti consiglio di utilizzare sempre query con parametri. Così con un colpo solo risolvi molti problemi e non ci pensi più...


  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482

    Re: Inserimento date SQL server da ASP.NET

    prova così:

    codice:
    PV_sql = "INSERT INTO Statistiche (Date,Url,IpAddress,Referer,UserAgent) " +
                "VALUES(" +
                "#" + Year(System.DateTime.Now)&"/"&Month(System.DateTime.Now)&"/"&Day(System.DateTime.Now)
    ) + "#," +
                "'" + Request.ServerVariables["URL"] + "'," +
                "'" + Request.ServerVariables["REMOTE_ADDR"] + "'," +
                "'" + Request.ServerVariables["HTTP_REFERER"] + "'," +
                "'" + Request.ServerVariables["HTTP_USER_AGENT"] + "')";

    Hey hey, my my Rock and roll can never die!

  4. #4
    Zampa28 il tuo codice non mi funziona. A parte che ho dovuto mettere la notazione col punto delle proprietà Year,Month e Day ma comunque mi ritorna un errore "The name "#2006" is not permitted in this context"

    Geko mi potresti fare un esempio? Magari proprio con le date che sarebbe molto utile, non so più come prenderle...

    Ah, dimenticavo... mi servono data e ora!
    Non e' bello cio' che e' bello... ma che bello che bello che bello...
    Utonter. Il silenzio degli ignoranti

  5. #5
    Utente di HTML.it L'avatar di geko
    Registrato dal
    Dec 2004
    Messaggi
    104
    Invece di eseguire una query componendola direttamente con concatenazioni di stringhe, crei un oggetto SQLCommand, gli passi la query con parametri e imposti i parametri associandoli ai tipi SQL.

    codice:
    command.CommandText = "INSERT INTO Statistiche (Date,Url,IpAddress,Referer,UserAgent) VALUES( @data, @url, @refer, @userAgent)";			
    command.Parameters.Add("@data", SqlDbType.DateTime);
    command.Parameters["@data"].Value = myDate;
    command.ExecuteNonQuery();
    passa un po' di ore su MSDN e troverai tutto il materiale che ti serve.


  6. #6
    Perfetto Geko!
    Proprio quello che cercavo!
    Un pò più lunga da scrivere ma di sicuro più facile da utilizzare e manutenere!

    Ci sto vivendo con l'MSDN... però c'è tanta roba da imparare e io al momento ho poco tempo... mi sa che vi disturberò ancora !
    Grazie tante davvero per il momento!
    Non e' bello cio' che e' bello... ma che bello che bello che bello...
    Utonter. Il silenzio degli ignoranti

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 © 2025 vBulletin Solutions, Inc. All rights reserved.