Inserire la data in db access

di il
6 risposte

Inserire la data in db access

Salve a tutti 

sto provando a fare un INSERT ma quando deve inserire la data, mi da errore: 

System.Data.OleDb.OleDbException: 'Tipi di dati non corrispondenti nell'espressione criterio.'

questa è la riga o per meglio dire l'ultima opzione, le ho provate tt

comando.Parameters.AddWithValue("@data", OleDbType.Date).Value = DateTime.Today

comando.ExecuteNonQuery()

6 Risposte

  • Re: Inserire la data in db access

    Anche così da errore

      comando.Parameters.AddWithValue("@data", OleDbType.Date).Value = "15/04/2024"

  • Re: Inserire la data in db access

    Ciao,

    anch'io in passato avevo avuto lo stesso problema.

    Recuperando il codice avevo risolto così, non so se ti è utile.

    Ovviamente dovrai sostituire  la data di oggi dell'esempio con la data che ti serve.

    Dim conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\nome_database.accdb") 
    conn.Open() 
    Dim cmd As New OleDbCommand("INSERT INTO Tabella (NomeColonnaData) VALUES (@Data)", conn) 
    Dim parametroData As New OleDbParameter("@Data", OleDbType.Date) 
    parametroData.Value = CDate("2024-04-15")  
    cmd.Parameters.Add(parametroData) 
    cmd.ExecuteNonQuery() 
    conn.Close()
    
  • Re: Inserire la data in db access

    15/04/2024 - tantino ha scritto:


    Salve a tutti 

    sto provando a fare un INSERT ma quando deve inserire la data, mi da errore: 

    System.Data.OleDb.OleDbException: 'Tipi di dati non corrispondenti nell'espressione criterio.'

    questa è la riga o per meglio dire l'ultima opzione, le ho provate tt

    comando.Parameters.AddWithValue("@data", OleDbType.Date).Value = DateTime.Today

    comando.ExecuteNonQuery()

    L'errore potrebbe non essere sul parametro @data ma in qualche altro parametro, vedi mio post sull'altro tuo thread

  • Re: Inserire la data in db access

    Ecco tutto il codice:

     Dim query As String = "INSERT INTO Lavori_Master (Id_Condominio, Lavoro, Ditta, ImportoD, IvaD, ImportoDIvato, ImportoT, IvaT, ImportoTIvato, ImportoA, CpaA, ImportoACpa, TotaleD, TotaleT, TotaleA, [data])  VALUES (@id_Condominio,@Lavoro, @Ditta, @ImportoD, @IvaD, @ImportoDIvato, @ImportoT, @IvaT,@ImportoTIvato,@ImportoA,@cpaA,@ImportoAcpa, @TotaleA, @TotaleT, @TotaleA, @data )"
    'txtImmagine.Text = query
    Dim comando As New OleDbCommand(query, connessione)
    comando.Parameters.AddWithValue("@Id_Condominio", CodCondominio)
    comando.Parameters.AddWithValue("@Lavoro", cboLavori.Text)
    comando.Parameters.AddWithValue("@Ditta", cboDitta.Text)
    comando.Parameters.AddWithValue("@ImportoD", txtImportoD.Text)
    comando.Parameters.AddWithValue("@IvaD", cboIvaD.Text)
    comando.Parameters.AddWithValue("@ImportoDIvato", txtIvaD.Text)
    comando.Parameters.AddWithValue("@ImportoT", txtImportoT.Text)
    comando.Parameters.AddWithValue("@IvaT", cboIvaT.Text)
    comando.Parameters.AddWithValue("@ImportoTIvato", txtIvaT.Text)
    comando.Parameters.AddWithValue("@ImportoA", txtImportoA.Text)
    comando.Parameters.AddWithValue("@CpaA", cboCpa.Text)
    comando.Parameters.AddWithValue("@ImportoACpa", txtCpa.Text)


    comando.Parameters.AddWithValue("@TotaleD", lblImportoDIvato.Text)
    comando.Parameters.AddWithValue("@TotaleT", lblImportoTIvato.Text)
    comando.Parameters.AddWithValue("@TotaleA", lblImportoAIvato.Text)
    comando.Parameters.AddWithValue("@DATA", OleDbType.Date).Value = CDate(Date.Now.ToShortDateString) 'HO PROVATO 1000 MODI

    comando.ExecuteNonQuery()
    MsgBox("Inserimento TESTATA, avvenuto con successo", vbOK, vbInformation)
    connessione.Close()

  • Re: Inserire la data in db access

    Ma i campi “Importo” sono numerici o sono stringhe ??

    Non ti sei accorto che con le righe 

    comando.Parameters.AddWithValue("@ImportoD", txtImportoD.Text)

    stai dicendo che @ImportoD è di tipo Text (cioè tipo stringa) ??

    Ti sei tanto accanito su

    comando.Parameters.AddWithValue("@DATA", OleDbType.Date).Value = Date.Today

    ma mi sà che è l'unica giusta

  • Re: Inserire la data in db access

    15/04/2024 - tantino ha scritto:


    Ecco tutto il codice: […]

    Sì, ma l'hai già postato uguale in questa discussione, dove stai parlando dello stesso problema.

    Non ha senso proseguire due discussioni separate per la stessa cosa. Hai letto il regolamento?

Devi accedere o registrarti per scrivere nel forum
6 risposte