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

    Update su Sql Server 2003

    Allora premetto che sono un novellino...

    Mi servirebbe di aggiornare un campo data in un tabella utenti dopo aver fatto una query su un'altra tabella.

    Mi trovo in grosse difficoltà...
    La base dati è sql server 2003 il campo in questione è di tipo smalldatetime

    codice:
    Sub Page_Load(Source As Object, e As EventArgs)
    	
    	Dim dtCurrent as DateTime = Now()
    	Dim utente
    	Dim strConnString As String
    	Dim conn As SqlConnection
    	Dim cmdSelect As SqlCommand
    	Dim cmdUpdate As SqlCommand	
    	Dim strUpdate As String	
    	Dim objReader As SqlDataReader	
    	Dim sqlString As String
    	
    	If Session("login") = 0 Then
    		Response.Redirect("login.aspx?error=2")
    	End If
    	utente = Session.Item("user")
    	
    	strConnString = ConfigurationSettings.AppSettings( "connString" )
    	conn = New SqlConnection( strConnString )	
    	sqlString = "SELECT FUNZIONI.idFunzione, FUNZIONI.funzione, FUNZIONI.etichetta FROM GRUPPI_FUNZIONI INNER JOIN FUNZIONI ON GRUPPI_FUNZIONI.idGruppoFunzioni = FUNZIONI.idGruppoFunzioni INNER JOIN GRUPPI_UTENTI_FUNZIONI ON GRUPPI_FUNZIONI.idGruppoFunzioni = GRUPPI_UTENTI_FUNZIONI.idGruppiFunzioni INNER JOIN GRUPPI_UTENTI ON GRUPPI_UTENTI_FUNZIONI.idGruppiUtenti = GRUPPI_UTENTI.idGruppoUtenti INNER JOIN UTENTI ON GRUPPI_UTENTI.idGruppoUtenti = UTENTI.idGruppo WHERE (UTENTI.idUtente = " & utente & ")"
    	cmdSelect = New SqlCommand( sqlString, conn )
    	strUpdate = "UPDATE UTENTI SET ultimoAccesso = " & dtCurrent.toShortDateString() & " WHERE idUtente = " & utente & ""
    	response.Write(strUpdate)
    	cmdUpdate = New SqlCommand( strUpdate, conn )	
    	conn.Open()
    	objReader = cmdSelect.ExecuteReader()	
    	dlstUser.DataSource = objReader
    	dlstUser.DataBind()
    	objReader.Close()
    	cmdUpdate.ExecuteNonQuery()		
    	conn.Close()
    	
    End Sub
    Questo è il mio codice...
    Allora va tutto benissimo
    la query di estrazione la fa l'Update la fa ma mette la da a 01/01/1900
    Però il Response.Write mi stampa giusto
    codice:
    UPDATE UTENTI SET ultimoAccesso = 25/05/2005 WHERE idUtente = 3
    Qualcunosa darmi una mano?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    strUpdate = "UPDATE UTENTI SET ultimoAccesso = " & dtCurrent.toShortDateString() & " WHERE idUtente = " & utente & ""


    se invece di come hai fatto sopra provi a quotare il dtCurrent così:

    strUpdate = "UPDATE UTENTI SET ultimoAccesso = '" & dtCurrent.toShortDateString() & "' WHERE idUtente = " & utente & ""
    oppure la scrivi così:

    strUpdate = "UPDATE UTENTI SET ultimoAccesso = {' d " & aaaa/mm/gg & "'} WHERE idUtente = " & utente & ""
    dovrebbe andare.
    Ti mette 1/1/1900 perché non riesce a convertire la data

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.