48 messaggi dal 20 giugno 2003
Ciao a tutti, ho un problema con la seguente funzione


            Dim n
            n = 0

            'richiamo la connessione
            Dim StrConn As Data.OleDb.OleDbConnection = New Data.OleDb.OleDbConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString_provaconn"))
            'creo la query
            Dim OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM Tab_rubrica ", StrConn)
            
            'creo il dataset 
            Dim dataset As New Data.DataSet
            OleDbDataAdapter.Fill(dataset)

            'Assegno ad ogni campo della colonna 9 il valore 0
            For Each row As Data.DataRow In dataset.Tables(0).Rows
                dataset.Tables(0).Rows(n).Item(9) = 0
                n = n + 1
            Next

            'Aggiorno il DataAdapter
            OleDbDataAdapter.Update(dataset)


            'chiudo la connessione e rilascio risorse
            StrConn.Close()
            StrConn.Dispose()




A questo punto mi aspettavo che dopo aver aperto la connessione e inserito nella tabella, nel campo 9, tutti i campi interessati sarebbero portati a 0.
Purtroppo non succede niente. Potete dirmi come aggiornare a questo punto il DB direttamente dal Dataset aggiornato?

Grazie
Modificato da Shiba il 26 giugno 2006 15.51 -
48 messaggi dal 20 giugno 2003
Scusate, ma dimenticavo che però mi esce un errore con la seguente descrizione:

Update richiede un UpdateCommand valido se l'insieme DataRow viene passato con righe modificate.

Ad essere sincero non riesco a capire come utilizzare l'UpdateCommand nella mia funzione.
48 messaggi dal 20 giugno 2003
Per questa volta ho fatto la domanda e quasi subito mi sono dato la risposta (non vi preoccupate, non sono pazzo) .

Comunque a chi può servire ho trovato la seguente funzione che mi è stata d'aiuto

Public Function CreateCommandAndUpdate( _
    ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Dim dataSet As DataSet = New DataSet

    Using connection As New OleDbConnection(connectionString)
        connection.Open()
        Dim dataAdapter As New OleDbDataAdapter()

        dataAdapter.SelectCommand = New OleDbCommand( _
            queryString, connection)

        Dim commandBuilder As OleDbCommandBuilder = _
            New OleDbCommandBuilder(dataAdapter)

        dataAdapter.Fill(dataSet)

        ' Code to modify the data in the DataSet here. 

        ' Without the OleDbCommandBuilder this line would fail.
        dataAdapter.Update(dataSet)
    End Using
    CreateCommandAndUpdate = dataSet
End Function

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.