Aggiornamento Db --- Data Set

mercoledì 22 febbraio 2006 - 23.01

Marc1982 Profilo | Newbie

Buona sera ragazzi,
non riesco ad aggiornare il db dopo aver aggiunto una riga al dataset posto sotto il codice e poi mi spiego meglio

Dim sql As String = "Select * From Messaggi"
Dim adp As New OleDbDataAdapter(sql, Connessione)
Dim ds As New DataSet
Try
adp.Fill(ds, "Messaggi")
Catch ex As Exception
MsgBox(ex.Message)
End Try
adp.Fill(ds, "Messaggi")


Dim NumeroRighe As Integer
NumeroRighe = ds.Tables("Messaggi").Rows.Count


If NumeroRighe = 0 Then
Dim r As DataRow = ds.Tables("Messaggi").NewRow
r("IdMessaggio") = "PROVA"
ds.Tables("Messaggi").Rows.Add(r)
adp.Update(ds, "Messaggi")

End If

Io faccio la query sql se non me restituisce nulla vorrei inserire una riga ("r") nel dataset e nel db premetto che nella tabella messaggi l'unico campo prensente è IDMESSAGGI però quando eseguo adp.update mi da errore e mi dice che manca il metoto Insert...legendo in giro ho capito che si deve costruire la query per fare questo inserimento però non so in che modo mi aiutate?????

Grazie mille a tutti per la pazienza e la professionalita che dimostrate ogni volta

Brainkiller Profilo | Guru

>Io faccio la query sql se non me restituisce nulla vorrei inserire
>una riga ("r") nel dataset e nel db premetto che nella tabella
>messaggi l'unico campo prensente è IDMESSAGGI però quando eseguo
>adp.update mi da errore e mi dice che manca il metoto Insert...legendo
>in giro ho capito che si deve costruire la query per fare questo
>inserimento però non so in che modo mi aiutate?????

Devi usare la classe CommandBuilder che ti aiuta a creare automaticamente query di INSERT, DELETE, UPDATE. In base al provider che uso ci sono varie classi OleDbCommandBuilder, SqlCommandBuilder. ecc.

Esempio dal Framework:

Dim myConn As New SqlConnection(myConnection) Dim myDataAdapter As New SqlDataAdapter() myDataAdapter.SelectCommand = New SqlCommand(mySelectQuery, myConn) Dim cb As SqlCommandBuilder = New SqlCommandBuilder(myDataAdapter) myConn.Open() Dim ds As DataSet = New DataSet myDataAdapter.Fill(ds, myTableName) ' Code to modify data in DataSet here ' Without the SqlCommandBuilder this line would fail. myDataAdapter.Update(ds, myTableName) myConn.Close()

>Grazie mille a tutti per la pazienza e la professionalita che
>dimostrate ogni volta

Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
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