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

    format date

    codice:
    If Month((arData.Item(y))) = meseda Or Month((arData.Item(y))) = mesea Then
    
                    anno = Year(Now)
                    mese = Month(arData.Item(y))
                    giorno = Microsoft.VisualBasic.DateAndTime.Day(arData.Item(y))
                    newdata = giorno & "/" & mese & "/" & anno
                    newdata = Format(newdata, "dd/MM/yyyy")
                    cn = New OleDb.OleDbConnection(ConnString)
                    cmd = New OleDb.OleDbCommand
                    cmd.Connection = cn
                    cn.Open()
                    sql = "update Clienti"
                    sql = sql & " set DataNascitaAnno = #" & newdata & "#"
                    sql = sql & " where ID = " & arID.Item(y)
                    cmd.CommandText = sql
                    cmd.ExecuteNonQuery()
                    cn.Close()
                End If
    ho un problema di conversone del formato delle date.
    newdata = "04/06/2006" --> quindi formato data dd/MM/yyyy
    la riga seguente già mi trasforma la data nel formato americano (MM/dd/yyy) anche se ho messo (dd/MM/yyyy) quindi poi mi scrive nel db (Access) la data in americano e non mi va bene. potete aiutarmi x favore, grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    Usa i parametri, non specificare le date direttamente nello statement SQL.

    Nel tuo caso, accedendo ai dati tramite la gerarchia di classi ADO.NET del namespace System.Data.OleDb, usa la classe OleDbParameter.

    Leggi la documentazione per informazioni ed esempi a riguardo.

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

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

  3. #3
    ok tra un po' provo e ti faccio sapere grazie

  4. #4
    mi sa che il problema è quando la data viene inserita nel db, ovvero x' adesso ho provato a mettere il campo dell'array dato che rimane giusta al posto della variabile, ma nel campo del db invece la mette nel formato americano. io nel db al campo della data ho messo tipo date/time e formato data in cifre
    codice:
    If Month((arData.Item(y))) = meseda Or Month((arData.Item(y))) = mesea Then
    
                    anno = Year(Now)
                    mese = Month(arData.Item(y))
                    giorno = Microsoft.VisualBasic.DateAndTime.Day(arData.Item(y))
                    newdata = giorno & "/" & mese & "/" & anno
                    newdata = Format(newdata, "dd/MM/yyyy")
                    cn = New OleDb.OleDbConnection(ConnString)
                    cmd = New OleDb.OleDbCommand
                    cmd.Connection = cn
                    cn.Open()
                    sql = "update Clienti"
                    sql = sql & " set DataNascitaAnno = #" & arData.Item(y) & "#"
                    sql = sql & " where ID = " & arID.Item(y)
                    cmd.CommandText = sql
                    cmd.ExecuteNonQuery()
                    cn.Close()
                End If

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    Non hai usato i parametri come ti avevo suggerito. :master:

    Mi sa che il problema sta nel fatto che se chiedi aiuto e fai di testa tua, mi sorge qualche dubbio sui motivi per cui scrivi in un forum.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  6. #6
    adesso sto guardando il suggerimento che mi avevi dato, stavo provando un'altra strada che avevo intrapreso prima che mi rispondevi

  7. #7
    non ho capito bene come funziona ed anche il dataadapter. non avresti una porzione di codice x capire bene? ma x' usare un dataset, dataadapter e i parametri? ho un array che mi contiene le date, non è la stessa cosa?

  8. #8
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, ecco un esempio..
    codice:
    ...
    cmd.CommandText = "UPDATE Clienti SET DataNascitaAnno = ? WHERE ID = ?;"
    cmd.Parameters.Add("DataNascitaAnno", OleDb.OleDbType.Date)
    cmd.Parameters.Add("ID", OleDb.OleDbType.Integer)
    
    cmd.Parameters("DataNascitaAnno").Value = arData.Item(y)
    cmd.Parameters("ID").Value = arID.Item(y)
    
    cmd.ExecuteNonQuery()
    ...
    Jupy

  9. #9
    ok grazie sono riuscito a risolvere

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.