Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    138

    [VB express 2008] problema nell'update di un campo in formato DATA/ORA di access

    espongo il mio problema che anche a me sembra stupido: sto cercando di usare il comando UPDATE per aggiornare alcuni record di access, ma quando cerco di aggiornare una record dove il tipo dati è DATA/ORA, tramite una textbox associata al DB e quindi sempre in formato DATA/ORA mi dice che :"Cast non valido dalla stringa "lunedì 1 gennaio 2024" al tipo 'Long'".. ecco il codice :
    codice:
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim modificadata1 As New System.DateTime(Data_inizioDateTimePicker.Text)
            Dim modificaofferta As Double = OffertaTextBox.Text
            Dim modificadata2 As New System.DateTime(Data_fineDateTimePicker.Text)
            Dim comando As New OleDb.OleDbCommand(" UPDATE Offerte SET Offerta = '" + modificaofferta.ToString + modificadata1.ToShortDateString + modificadata2.ToShortDateString + "' WHERE Codice_barra = '" + Codice_barraTextBox.Text + "'", archivio)
            archivio.Open()
            comando.ExecuteNonQuery()
            archivio.Close()

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Se ti dice
    Cast non valido dalla stringa "lunedì 1 gennaio 2024" al tipo 'Long'"

    Significa che stà cercando di inserire una variabile stringa "lunedì 1 gennaio 2024" in una variabile di tipo Long (numerico)

    Dove ti da esattamente l'errore?

  3. #3
    Ciao
    Attiva "Option strict" nella scheda compilazione delle proprietà del tuo progetto e ti accorgerai subito di dove sia l'errore.
    Ciao

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Come mai nel campo Offerta (che tipo di campo è?) inserisci una stringa e due date??

    SET Offerta = '" + modificaofferta.ToString + modificadata1.ToShortDateString + modificadata2.ToShortDateString + "'
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    138
    come mai nel campo Offerta (che tipo di campo è?) inserisci una stringa e due date??
    il campo offerta è un tipo "valuta"
    SET Offerta = '" + modificaofferta.ToString + modificadata1.ToShortDateString + modificadata2.ToShortDateString + "
    perchè a me serve modificare il prezzo dell'offerta, la data d'inizio e quella di fine..
    Se ti dice Cast non valido dalla stringa "lunedì 1 gennaio 2024" al tipo 'Long'" Significa che stà cercando di inserire una variabile stringa "lunedì 1 gennaio 2024" in una variabile di tipo Long (numerico) Dove ti da esattamente l'errore?
    la mia textbox,siccome ho associato da "origini dati" il db di access, è il campo corrispondente di access, quindi anche essa è di tipo "DATA/ORA" ecco qui un immagine per far capire meglio la mia situazione... l'errore me è rilevato in "Dim modificadata1 As NewSystem.DateTime(Data_inizioDateTimePicker.Text) ".. quindi lo sarà anche per "Data_fine"..

    questi sono i campi di tipo "DATA/ORA" che devo modificare.. quello dell'offerta funziona..
    secondo me il problema risiede nel fatto che nelle textbox i mesi sono scritti a "lettere" mentre nella tabella di access tutto è scritto a numeri...
    Immagini allegate Immagini allegate

  6. #6
    frank, hai una vaga idea di quello che stai facendo?

    dici:

    il campo offerta è un tipo "valuta"

    poi fai

    SET Offerta = '" + modificaofferta.ToString + modificadata1.ToShortDateString + modificadata2.ToShortDateString + "

    e argomenti

    perchè a me serve modificare il prezzo dell'offerta, la data d'inizio e quella di fine..

    ma ti sei accorto che dentro Offerta (SET Offerta=..) metti anche due date?

    ragiona un po', dai

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    138
    codice:
    Dim modificadata1 As New System.DateTime(Data_inizioDateTimePicker.Text)
            Dim modificaofferta As Double = OffertaTextBox.Text
            Dim modificadata2 As New System.DateTime(Data_fineDateTimePicker.Text)
            Dim comando As New OleDb.OleDbCommand(" UPDATE Offerte SET Offerta,Data_inizio,Data_fine = '" + modificaofferta.ToString + modificadata1.ToShortDateString + modificadata2.ToShortDateString + "' WHERE Codice_barra = '" + Codice_barraTextBox.Text + "'", archivio)
            archivio.Open()
            comando.ExecuteNonQuery()
            archivio.Close()
    come vedi in SET i campi data_inizio e data_fine ci sono... mmm.. in effetti ora che guardo bene nel codice che ho postato prima erano saltati questi due campi... forse, siccome l'ho copiati due volte diverse(perchè il pc si era impallato -.-) si è cancellato un pezzo...

  8. #8
    Originariamente inviato da frank095
    come vedi in SET i campi data_inizio e data_fine ci sono...
    "come vedi"??? li hai aggiunti adesso, lo sai!

    e comunque la UPDATE *NON* si scrive come l'hai scritta tu (fantasia?) ma così

    UPDATE tabella SET colonna1=valore1, colonna2=valore2, ...., colonnaN=valoreN WHERE eventuale_condizione

    inizia a studiare SQL da qui http://msdn.microsoft.com/en-us/library/aa140011(office.10).aspx

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    138
    anche se è difficile da credere dico sul serio !! xD comunque bho quella sintassi l'avevo presa da un sito da dove avevo studiato un pò di SQL... ora provo come hai fatto tu..

  10. #10
    Originariamente inviato da frank095
    comunque bho quella sintassi l'avevo presa da un sito da dove avevo studiato un pò di SQL...
    dicono tutti così mi piacerebbe vederli questi siti

    buono studio!

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.