Delete tramite dataadapter

martedì 25 luglio 2006 - 14.14

andreapavia Profilo | Senior Member

Con questo metodo riesco a fare direttamente l'update di un dataset sfruttando le proprieta' del dataadapter e passandogli la datatable dei dai modificati



Function noSelProva(ByVal strConn As String, ByVal strquery As String, ByVal dt As DataTable) As Integer

Dim dapOdbc As OdbcDataAdapter
Dim fff As Integer = -10
Dim dset As New DataSet
Dim conOdbc As New OdbcConnection
Dim esegui_conn As New connessioneDB
Dim esegui_file As file

strConn = strConn.Trim
'apre la connesione con il db

esegui_conn.connOdbc_on(strConn)
conOdbc = esegui_conn.getconnOdbc

'esegue la query
Try
dapOdbc = New OdbcDataAdapter(strquery, conOdbc)
Dim cb As New OdbcCommandBuilder(dapOdbc)
dapOdbc.UpdateCommand = cb.GetUpdateCommand()
dapOdbc.DeleteCommand = cb.GetDeleteCommand()
dapOdbc.InsertCommand = cb.GetInsertCommand()

dapOdbc.Fill(dset)

fff = dapOdbc.Update(dt)


Catch exc As Exception
errore = exc.Message()
'esegui_file.ScriviFile(percorso, errore)
Stop
End Try

'chiude la connessione
esegui_conn.connOdbc_off()

Return fff
End Function

Come faccio ad utilizzare questo metodo con l'operazione di delete visto che l'ODCBadapter non ha un metodo delete che accetta in ingresso un dataset????


Brainkiller Profilo | Guru

>Come faccio ad utilizzare questo metodo con l'operazione di delete
>visto che l'ODCBadapter non ha un metodo delete che accetta
>in ingresso un dataset????

Non funziona così.

Cancella delle righe dal DataSet e poi chiami il metodo AcceptChanges() del DataSet e infine richiami il metodo Update() del DataAdapter il quale sincronizzera le modifiche sulla base dati e di fatto ti eliminerà i records che hai eliminato nel DataSet.
Ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

andreapavia Profilo | Senior Member

ciao david,,,, me ne sono accorto facendolo!!!!!
ragionavo in modo sbagliato!!!!
risolto alla grande

grazie david sempre power le tue risposte!!!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5