Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    27

    Vs 2005 Errore Update Ciclo For Each

    BUONGIORNA A TUTTI IO HO IL SEGUENTE CODICE CHE NON AGGIORNA LA TABELLA POTETE AIUTARMI A RISOLVERLO IL PROBLEMA SI RIFERISCE A L CICLO FOR EACH
    Codice:

    codice:
    Public Sub AggiornaRecord(ByRef ctrlAdd As UserModificaViaggio.UserModificaViaggio1, ByRef IDVIAGGIO As Integer, ByRef CheckDestinazione As Control)
            ConnParcoMacchine.ConnectionString = ParcoMacchineConnString
            sql = "SELECT * FROM VIAGGI;"
            Try
                ConnParcoMacchine.Open()
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
            daParcoMacchine.SelectCommand = New OleDbCommand(sql, ConnParcoMacchine)
            dsParcoMacchine.Clear()
            daParcoMacchine.FillSchema(dsParcoMacchine, SchemaType.Source)
            daParcoMacchine.Fill(dsParcoMacchine, "VIAGGI")
            ConnParcoMacchine.Close()
            Dim cmdBuilderPosta As New OleDb.OleDbCommandBuilder(daParcoMacchine)
            cmdBuilderPosta.QuotePrefix = "["
            cmdBuilderPosta.QuoteSuffix = "]"
            daParcoMacchine.InsertCommand = cmdBuilderPosta.GetInsertCommand
            daParcoMacchine.UpdateCommand = cmdBuilderPosta.GetUpdateCommand
            Dim strFilter As String
            strFilter = "[IDVIAGGIO]=" & IDVIAGGIO
            Dim drPosta() As DataRow
            drPosta = dsParcoMacchine.Tables("VIAGGI").Select(strFilter)
            Dim myDr2 As DataRow
            Try
                For Each myDr2 In drPosta
                    myDr2.Item("TARGA") = ctrlAdd.ComboBoxTarga1.Text
                    myDr2.Item("KM ATTUALI") = ctrlAdd.TextBoxKMArrivo1.Text
                    myDr2.Item("ORA PARTENZA") = ctrlAdd.TextBoxOraPartenza1.Text
                    myDr2.Item("ORA ARRIVO") = ctrlAdd.TextBoxOraArrivo1.Text
                    myDr2.Item("DATA") = ctrlAdd.TextBoxData1.Text
                    myDr2.Item("DESTINAZIONE1") = ctrlAdd.ComboBoxDestinazione1.Text
                    NumeroColonne()
                    Dim i As Integer = 1
                    Dim iControl As Integer = 2
                    Dim ctrl As Control
                    Dim sProva As String
                    Dim sProva1 As String
                    If iNumeroColonne > 12 Then
                        For Each ctrl In ctrlAdd.Controls
                            If ctrl.Name = "Destinazione" & i.ToString Then
                                sProva = ctrl.Text.ToString
                                sProva1 = "DESTINAZIONE" & iControl.ToString
                                myDr2.Item(sProva1) = ctrl.Text.ToString
                                iControl = iControl + 1
                                i = i + 1
                            End If
                        Next
                    End If
                Next
                daParcoMacchine.Update(dsParcoMacchine, "VIAGGI")
            Catch ex As Exception
                MsgBox("errore", MsgBoxStyle.Critical, "errore")
            End Try
            dsParcoMacchine.Clear()
        End Sub

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E' impossibile rispondere a questa richiesta ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    27
    PERCHE è IMPOSSIBILE

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Prima di tutto non scrivere in maiuscolo ...

    Poi utilizza i tag CODE perché il codice è incomprensibile ...

    Per ultimo, spiega correttamente e con tutti i dettagli del caso di cosa si tratta. Di quale errore parli? Indica il contesto, db usato, ecc...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    27
    io ho uno usercontrol inserito su una form con una serie di controlli tra cui dei combobox, che vengono aggiunti a runtime da codice a seconda del numero di campi di una tabella access, il nome dei combo box è Destinazione & un numero progressivo da 1 a n a secondo del numero di campi. il codice non genera alcun "errore" o eccezione ma se elimino dal codice inserito il ciclo for each ctrl in ....... la tabella viene aggiornata correttamente mentre mentre quando vado a eseguire il codice for each ctrl in ...... il comando update viene eseguito senza generare errori o eccezioni mentre l'aggiornamento non avviene .ctrladd e lo user control presente sulla form, AggiornaRecord e un metodo dello usercontrol grazie per l'aiuto nel caso voi possiate darmi qualche indicazione a riguardo.posto nuovamente il codice correttamente

    codice:
    Public Sub AggiornaRecord(ByRef ctrlAdd As UserModificaViaggio.UserModificaViaggio1, ByRef IDVIAGGIO As Integer, ByRef CheckDestinazione As Control)
    ConnParcoMacchine.ConnectionString = ParcoMacchineConnString
    sql = "SELECT * FROM VIAGGI;"
    Try
    ConnParcoMacchine.Open()
    Catch ex As Exception
    MessageBox.Show(ex.Message)
    End Try
    daParcoMacchine.SelectCommand = New OleDbCommand(sql, ConnParcoMacchine)
    dsParcoMacchine.Clear()
    daParcoMacchine.FillSchema(dsParcoMacchine, SchemaType.Source)
    daParcoMacchine.Fill(dsParcoMacchine, "VIAGGI")
    ConnParcoMacchine.Close()
    Dim cmdBuilderPosta As New OleDb.OleDbCommandBuilder(daParcoMacchine)
    cmdBuilderPosta.QuotePrefix = "["
    cmdBuilderPosta.QuoteSuffix = "]"
    daParcoMacchine.InsertCommand = cmdBuilderPosta.GetInsertCommand
    daParcoMacchine.UpdateCommand = cmdBuilderPosta.GetUpdateCommand
    Dim strFilter As String
    strFilter = "[IDVIAGGIO]=" & IDVIAGGIO
    Dim drPosta() As DataRow
    drPosta = dsParcoMacchine.Tables("VIAGGI").Select(strFilter)
    Dim myDr2 As DataRow
    Try
    For Each myDr2 In drPosta
    myDr2.Item("TARGA") = ctrlAdd.ComboBoxTarga1.Text
    myDr2.Item("KM ATTUALI") = ctrlAdd.TextBoxKMArrivo1.Text
    myDr2.Item("ORA PARTENZA") = ctrlAdd.TextBoxOraPartenza1.Text
    myDr2.Item("ORA ARRIVO") = ctrlAdd.TextBoxOraArrivo1.Text
    myDr2.Item("DATA") = ctrlAdd.TextBoxData1.Text
    myDr2.Item("DESTINAZIONE1") = ctrlAdd.ComboBoxDestinazione1.Text
    NumeroColonne()
    Dim i As Integer = 1
    Dim iControl As Integer = 2
    Dim ctrl As Control
    Dim sProva As String
    Dim sProva1 As String
    If iNumeroColonne > 12 Then
    For Each ctrl In ctrlAdd.Controls
    If ctrl.Name = "Destinazione" & i.ToString Then
    sProva = ctrl.Text.ToString
    sProva1 = "DESTINAZIONE" & iControl.ToString
    myDr2.Item(sProva1) = ctrl.Text.ToString
    iControl = iControl + 1
    i = i + 1
    End If
    Next
    End If
    Next
    daParcoMacchine.Update(dsParcoMacchine, "VIAGGI")
    Catch ex As Exception
    MsgBox("errore", MsgBoxStyle.Critical, "errore")
    End Try
    dsParcoMacchine.Clear()
    End Sub

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Controlla che nella riga

    myDr2.Item(sProva1) = ctrl.Text.ToString

    sProva1 assuma valori corretti rispetto ai campi della tua tabella.

    Esegui il debugging passo passo.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    27
    ho eseguito il debug passo per passo sia il nome del campo è corretto ed è in tabella ed equivale a sprova1 ed è di tipo corretto, non mi da errori con option strict ad on sulla conversione dei dati, sia la proprietà text del controllo non contiene un valore nullo ed è di tipo string il campo sulla tabella è di tipo string e accetta un numero di caratteri sufficiente(50) mi esegue il comando il numero di volte desiderato mi fa l'update della tabella dal dataset e non genera ne errori ne eccezioni

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Elimina la

    Try

    Catch

    per prova e vedi se hai un errore
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    27
    ho eliminato la try e la catch ma il risultato è lo stesso non mi viene generato alcun errore viene fatto l'update ed esce dalla sub senza errori e senza aver aggiornato la tabella

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.