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

    Problema con date in codebehind

    Può sembrare che sia scemo, ma vi assicuro che quello che scrivo succede: ho realizzato una pagina (aspx) che semplicemente legge i files di una cartella e scrive il nome dei files (campo di testo) e la relativa data di creazione (campo in formato data SENZA AVER SPECIFICATO UN FORMATO) in un db access, usando una stored procedure con parametri. E va bene. Poi ho fatto il codebehind e l'ho compilato in dll. A questo punto le date che scrive non sono più quelle corrette: ad esempio se la data è 18/12/2003 17.00.45 nel db mi ritrovo 01/01/1601 1.00.00. Il codice è fatto così


    dim f as fileinfo

    for each files nella cartella

    dim tempo as string=f.lastWriteTime
    scrive_nel_db(f.name, tempo)
    next

    ....

    e poi

    sub scrive_nel_db(doc, tempo)
    'apre la connessione
    'punta la stored

    stroredproc.addparameter("@doc", doc)
    stroredproc.addparameter("@tempo", format(tempo,"Long Date"))

    'esegue e via

    :master:

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Non so. Ho provato con un esempio e non sono riuscito a riprodurre l'errore. Ti mando il mio esempio anche se non so se ti serva:
    codice:
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim DirectoryCorrente$ = Me.Server.MapPath(".\")
            Dim fname$
            Dim sql$ = "INSERT INTO [FILES] ([FILE],[DATACREAZIONE]) VALUES (?,?)"
            Dim connessione As OleDbConnection
            Dim comando As OleDbCommand
            Dim parametro As OleDbParameter
            Dim transazione As OleDbTransaction
    
            Try
                connessione = New OleDbConnection(StringaConnessione)
                connessione.Open()
                transazione = connessione.BeginTransaction
                comando = New OleDbCommand
                comando.Connection = connessione
                comando.Transaction = transazione
                comando.CommandText = "DELETE FROM FILES"
    
                comando.ExecuteNonQuery()
    
                comando.CommandText = sql
    
                For Each fname In Directory.GetFiles(DirectoryCorrente)
                    Dim fsi As New FileInfo(fname)
    
                    parametro = New OleDbParameter("file", OleDbType.VarChar, 50)
                    parametro.Value = fname
                    comando.Parameters.Add(parametro)
    
                    parametro = New OleDbParameter("datacreazione", OleDbType.Date)
                    parametro.Value = fsi.LastWriteTime
                    comando.Parameters.Add(parametro)
    
                    comando.ExecuteNonQuery()
                    comando.Parameters.Clear()
    
                Next
    
                transazione.Commit()
    
                Me.DataGrid1.DataSource = j.GetDataTable(StringaConnessione, "SELECT * FROM FILES")
                Me.DataGrid1.DataKeyField = "id"
                Me.DataGrid1.DataBind()
    
            Catch ex As Exception
                Me.Label1.Text = ex.Message
                transazione.Rollback()
            Finally
                connessione.Close()
            End Try
    
    
        End Sub

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.