Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Fado84
    Registrato dal
    Feb 2004
    Messaggi
    347

    [vb2005] Problema nell'eliminare e aggiornare righe Database

    Buonasera a tutti!
    quando vado ad aggiungere una riga al database nn ho nessun tipo di problema ma se cerco di cancellare una riga ecco che nascono i problemi..

    codice:
    Sub NuovaTabella(ByVal ConnectionString As String, ByVal QueryString As String, _
                ByVal NTabella As String, ByVal EnumTabella As Integer)
            ReDim Preserve adapter(EnumTabella)
    
            Dim command As New OleDbCommand(QueryString, connection)
            Dim cmdBuilder As New OleDbCommandBuilder(adapter(EnumTabella))
    
            adapter(EnumTabella) = New OleDbDataAdapter
    
            connection.ConnectionString = ConnectionString
    
            adapter(EnumTabella).SelectCommand = command
    
            'riempio il dataset e specifico il nome dell tabella titoli
            adapter(EnumTabella).Fill(Dataset, NTabella)
    
            'With adapter(EnumTabella)
            '    .InsertCommand = cmdBuilder.GetInsertCommand
            '    .DeleteCommand = cmdBuilder.GetDeleteCommand
            '    .UpdateCommand = cmdBuilder.GetUpdateCommand
            'End With
    
            ReDim Preserve DataView(EnumTabella)
            DataView(EnumTabella) = (New DataView(Dataset.Tables(NTabella)))
    
        End Sub
    
    
    .... Codide che utilizzo per cercare ed eliminare la riga.....
    
    
        Sub SalvaDati(ByVal NTabella As String, ByVal EnumTabella As Integer)
            connection.Open()
            adapter(EnumTabella).Update(Dataset, NTabella)
            connection.Close()
            Dataset.AcceptChanges()
        End Sub
    Lasciando come commento questo parte di codice:

    codice:
            'With adapter(EnumTabella)
            '    .InsertCommand = cmdBuilder.GetInsertCommand
            '    .DeleteCommand = cmdBuilder.GetDeleteCommand
            '    .UpdateCommand = cmdBuilder.GetUpdateCommand
            'End With
    quando vado a richiamare la sub SalvaDati si verifica un errore:

    InvalidOperationException non è stata gestita. Update richiede un DeleteCommand valido se l'insieme DataRow viene passato con righe eliminate.

    quindi tirando via il commento dalla parte di codice che genera i comandi e rilanciando il programma si verifica un errore nella sub NuovaTabella:

    InvalidOperationException non è stata gestita. È necessario inizializzare la proprietà DataAdapter.SelectCommand.

    quando invece l'ho inizializzata poche righe di codice prima...

    Utilizzo un database access e mi connetto correttamente a questo database.. le stringhe di connessione sono corrette.. non capisco però da cosa dipendano questi errori!

    Grazie mille!

  2. #2
    Utente di HTML.it L'avatar di Fado84
    Registrato dal
    Feb 2004
    Messaggi
    347
    lo so che non è corretto ma non ho ancora trovato una soluzione..


    Auguri di Buon Natale e Buone Feste a Tutti!

  3. #3
    Utente di HTML.it L'avatar di Fado84
    Registrato dal
    Feb 2004
    Messaggi
    347
    Ho commesso un pò di errori.. ma alla fine ne sono venuto a capo..
    ecco il codice.. se a qualcuno magari serve....

    codice:
       Sub NuovaTabella(ByVal ConnectionString As String, ByVal QueryString As String, _
                ByVal NTabella As String, ByVal EnumTabella As Integer)
    
            ReDim Preserve adapter(EnumTabella)
    
            connection.ConnectionString = ConnectionString
    
            connection.Open()
    
            adapter(EnumTabella) = New OleDbDataAdapter(QueryString, connection)
    
            Dim cmdBuilder As New OleDbCommandBuilder(adapter(EnumTabella))
    
            'riempio il dataset e specifico il nome dell tabella titoli
            adapter(EnumTabella).FillSchema(Dataset, SchemaType.Source, NTabella)
            adapter(EnumTabella).Fill(Dataset, NTabella)
    
    
    
            With adapter(EnumTabella)
                .InsertCommand = cmdBuilder.GetInsertCommand
                .DeleteCommand = cmdBuilder.GetDeleteCommand
                .UpdateCommand = cmdBuilder.GetUpdateCommand
            End With
    
            ReDim Preserve DataView(EnumTabella)
            DataView(EnumTabella) = (New DataView(Dataset.Tables(NTabella)))
            connection.Close()
    
    
        End Sub
    Buone feste a tutti!

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.