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

    [VB.NET] Salvare i dati da un datagridview in una tabella

    Ciao,

    posto questo problema che mi sta facendo impazzire.
    ho il problema che non riesco a salvare i dati da una datagridview nel db access.

    Ho un db semplice con una tabella con 2 campi id e descrizione, ora da form scelgo il db e mi vedo i dati sulla grid.

    fin qua tutto bene.

    ho un modulo

    codice:
    Imports System.Data
    Imports System.Data.OleDb
    
    Module Module1
    
    Public oDataSet As DataSet
    Public oQuery As String
    Public oDad As OleDbDataAdapter
    Public oCbuild As OleDbCommandBuilder
    Public oDbCommand As New OleDbCommand
    Public bs As BindingSource
    Public selCmd As OleDbCommand
    Public updCmd As OleDbCommand
    Public insCmd As OleDbCommand
    Public delCmd As OleDbCommand
    
    End Module
    sulla classe del form

    codice:
    Private Sub btnVisualizza_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVisualizza.Click
    
    Campi = CampiSelezionati()
    Tabella = lstTabelle.SelectedItem.ToString
    
    oQuery = "Select " & Campi & " from " & Tabella
    
    oDbCommand.Connection = oCn
    oDbCommand.CommandText = oQuery
    
    oDad = New OleDbDataAdapter(oDbCommand)
    
    oCbuild = New OleDb.OleDbCommandBuilder(oDad)
    
    oDad.DeleteCommand() = oCbuild.GetDeleteCommand
    oDad.InsertCommand() = oCbuild.GetInsertCommand
    oDad.UpdateCommand() = oCbuild.GetUpdateCommand
    
    oDataSet = New DataSet("dt")
    oDad.Fill(oDataSet, "dt")
    
    bs = New BindingSource
    bs.DataSource = oDataSet
    bs.DataMember = "dt"
    
    Griglia.DataSource = oDataSet
    Griglia.DataMember = "dt"
    
    End Sub
    e quando salvo

    codice:
    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
    Try
    
    Select Case Trim(My.Forms.ExtractWeb.oTitoloColonna.ToLower)
    Case "descrizione"
    
    My.Forms.ExtractWeb.Griglia.Rows.Item(My.Forms.ExtractWeb.oIndiceRiga).Cells.Item(My.Forms.ExtractWeb.oIndiceColonna).Value() = Me.HtmlSource.Text
    
    Case Else
    
    My.Forms.ExtractWeb.Griglia.Rows.Item(My.Forms.ExtractWeb.oIndiceRiga).Cells.Item(My.Forms.ExtractWeb.oIndiceColonna).Value() = StripTags(Me.HtmlSource.Text)
    
    End Select
    
    oCbuild = New OleDb.OleDbCommandBuilder(oDad)
    
    Dim a As String = oDad.Fill(oDataSet)
    
    oCbuild.GetUpdateCommand()
    a = oDad.Update(oDataSet)
    
    a = "1"
    ''ExtractWeb.oDad.InsertCommand = ExtractWeb.oCbuild.GetInsertCommand
    ''ExtractWeb.oDad.DeleteCommand = ExtractWeb.oCbuild.GetDeleteCommand
    ''ExtractWeb.oDad.UpdateCommand = ExtractWeb.oCbuild.GetUpdateCommand
    
    'oDad.AcceptChangesDuringFill = True
    'oDad.AcceptChangesDuringUpdate = True
    
    'oDataSet.EndInit()
    
    'oDad.Update(oDataSet)
    
    'oDataSet.AcceptChanges()
    
    Catch ex As Exception
    
    End Try
    
    End Sub
    PERCHE' NON VA?
    Mercatino online di annunci www.all-onweb.com
    Realizzazione siti web www.nineseven97.com
    Artigianato www.lartedifare.com

  2. #2
    il risultato non cambia però anche se ho usato il regolamento, nessuno risponde.
    Mercatino online di annunci www.all-onweb.com
    Realizzazione siti web www.nineseven97.com
    Artigianato www.lartedifare.com

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465

    Moderazione

    Originariamente inviato da caniggia
    il risultato non cambia però anche se ho usato il regolamento, nessuno risponde.
    Rispettare il regolamento è la base della partecipazione al forum, ma non fornisce alcuna garanzia di risposta, poiché ovviamente questo dipende dalle conoscenze degli utenti che vi partecipano, dalla loro volontà, dai loro impegni e tempo libero.

    Se hai delle urgenze, puoi sempre rivolgerti a un consulente a pagamento piuttosto che a un forum gratuito.


    Passando al problema specifico...

    Originariamente inviato da caniggia
    PERCHE' NON VA?
    Dire "non va" equivale a dire nulla, almeno per uno sviluppatore: che cosa succede realmente? ottieni un errore? i dati non vengono aggiornati? oppure vengono aggiornati in modo errato?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  4. #4
    Ciao,

    il PERCHE' NON VA è riferito a porzioni di codice interi, presi da discussioni analoghe e che non portano a nessun risultato. Non voleva essere un offesa era più che altro uno sfogo momentaneo per la frustrazione che ho subito in questi giorni a casua del problema.

    Ora, tornando al problema, se fai una ricerca su google trovi decine di discussioni che parlano del medesim, alcune con soluzioni diverse e nella stessa discussione trovi utenti che confermano o no l'efficacia della risoluzione proposta.

    Faccio il programmatore da 15 anni, non voglio mettermi al di sopra degli altri, ma credo forse che questo tipo di problema necessiti di una guida completa e quindi esorto qualcuno che abbia già risolto ad approfondire questa dicussione nell'intento di aiutare chi come me non ne è ancora giunto a capo.

    Se riesco, potrei farlo anche io, cmq il problema è questo:

    Ho una tabella semplice, ID e DESCRIZIONE, carico questi dati su una datagridview, vorrei modificarli e quindi salvarli su database.

    Riesco a modificarli logicamente, riesco a vederli nel dataset, ma nel momento in cui faccio l'update tramite l'adapter (come consigliano tutti), non mi ritrovo i dati nella tabella.

    Nessun errore e ho provato a vedere cosa ritorna il metodo il quale ritorna semplicemente 0 e credo significhi che ha modificato 0 righe, ma come mai?

    PERCHE' NON SALVA?

    il codice lo vedete sopra non mi pare neanche molto difficile, in ogni caso non salva
    Mercatino online di annunci www.all-onweb.com
    Realizzazione siti web www.nineseven97.com
    Artigianato www.lartedifare.com

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.