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

    [VB.NET] Inserire un valore DateTime, errore!!!

    Con un semplice

    OdbcCommand("INSERT INTO MyTable (CampoDateTime) VALUES('" & MiaDateTime & "') ", oConn)

    non riesco ad inserire il valore DateTime in un Database MySQL che ha come formato: yyyy-mm-dd hh.mm.ss

    mi inserisce tutti 0000-00-00 00.00.00

    come mai ???

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Usa OdbcParameter

    Non inserire direttamente i valori all'interno dello statement SQL, piuttosto utilizza dei "segnaposto" cui sostituirai poi valori parametrici usando la classe OdbcParameter.
    Ad esempio:
    codice:
    myCommand.CommandText = "INSERT INTO MyTable (CampoDateTime) VALUES (?)"
    Dim myParam As OdbcParameter  = new OdbcParameter("DateTime", OdbcType.DateTime)
    myParam.Value = DateTime.Now
    myCommand.Parameters.Add(myParam)
    myCommand.ExecuteNonQuery()
    ...
    Il codice è a puro titolo esemplificativo (non è testato), ma dovrebbe essere sufficiente a rendere l'idea.

    L'uso dei parametri ti permette di specificare i valori utilizzando il formato nativo, senza ricadere nelle ambiguità che possono essere provocate dalla conversione del valore parametro nella sua rappresentazione testuale (stringa).

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387

    Re: [VB.NET] Inserire un valore DateTime, errore!!!

    Originariamente inviato da w_t
    Con un semplice

    OdbcCommand("INSERT INTO MyTable (CampoDateTime) VALUES(#" & MiaDateTime & "#) ", oConn)

    non riesco ad inserire il valore DateTime in un Database MySQL che ha come formato: yyyy-mm-dd hh.mm.ss

    mi inserisce tutti 0000-00-00 00.00.00

    come mai ???
    ?
    ...and I miss you...like the deserts miss the rain...

  4. #4
    Caspitaaaaa!!!

    non avevo controllato l'output............

    mi da :

    gg/mm/aaaa h.m.s

    conosci un comando di format oppure faccio con le SubString ???

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da w_t
    Caspitaaaaa!!!
    non avevo controllato l'output............
    [...]
    conosci un comando di format oppure faccio con le SubString ???
    Non capisco a chi ti riferisci, poi ti pregherei di essere più chiaro con le domande, altrimenti è impossibile aiutarti.

    A parte questo, hai considerato la mia soluzione? Cos'ha che non ti aggrada? A quale output, formattazioni e sottostringhe di riferisci??
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    No non e' che nonmi aggrada, solo che non l'ho mai fatto, ora provero ma prima devo risolvere un altro problema,

    Ecco il mio codice:

    Devo estrarre da un Database con 300 Tabelle nle quali contengono 500 record l'una tutti i dati e inserirli in un altro Database contenente le medesime tabelle vuote, ho cominciato con questa idea, ma mi da errore nella connessione

    oComm2.Connection.Open()

    dopo che ha effettuato il 30% del lavoro di trasferimento, come e' possibile , un sovraccarico di qualcosa ???

    altrimenti per il funzionamento ora va .....

    la data ho risolto come si vede.......


    codice:
            oConn1.Open()
            Dim oComm1 As New OleDbCommand("SELECT * FROM " & TableName & "", oConn1)
            Dim oRead1 As OleDbDataReader = oComm1.ExecuteReader
            While oRead1.Read
                If Not IsDBNull(oRead1("Campo")) Then Campo = oRead1("Campo")
                If Not IsDBNull(oRead1("Campo")) Then Campo = oRead1("Campo")
                If Not IsDBNull(oRead1("Campo")) Then Campo = oRead1("Campo")
                If Not IsDBNull(oRead1("Campo")) Then Campo = oRead1("Campo")
    
    
                Dim oComm2 As New OdbcCommand("INSERT INTO " & TableName & "(" & _
                                                "Ora_Start_In," & _
                                                "Ora_End_In," & _
                                                "Ora_Start_Out," & _
                                                "Ora_End_Out" & _
                                                ") VALUES(" & _
                                                "'" & Campo & "'," & _
                                                "'" & Campo.ToString("yyyy-MM-dd h:m:s") & "'," & _
                                                "'" & Campo.ToString("yyyy-MM-dd h:m:s") & "'," & _
                                                "'" & Campo.ToString("yyyy-MM-dd h:m:s") & "'," & _
                                                "'" & Campo.ToString("yyyy-MM-dd h:m:s") & "'" & _
                                                ")", oConn2)
                oComm2.Connection.Open()
                oComm2.ExecuteNonQuery()
                oComm2.Connection.Close()
    
    
            End While
            oConn1.Close()

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.