Passaggio dataset

domenica 20 novembre 2005 - 21.09

Marc1982 Profilo | Newbie

Buonasera a tutti,
il mio problema è il seguente:
Quando carico una pagina sul evento page Load faccio una query e carico il risultato su un dataset dopo di che prendo i dati del data set e li faccio vedere nel form html...fino a qui tutto semplicissimo il problema mi sorve quando praticamente l'utente modifica i dati nel form e quindi devo aggiornare i dati nel DataSet cioè quando clicca sul Pulsante aggiorna i dati che sono in qual momento nel form devono andare ad aggiornare il dataset precedentemente caricato e dopo di che io prendo i dati nel dataset e aggiorno il DB..Come posso passare fare questo???in che modo posso passare il DataSet da un evento ad un altro???

Sto facendo cosi perchè è da poco che ho iniziato asp.net e voglio impadronirmi bene sull'utilizzo del dataset.


Vi ringrazio per i suggerimenti...vi incollo il codece che ho nella evento Page Load

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
If Request("id") <> "" Then
Dim Connessione As OleDbConnection
Dim adp As OleDbDataAdapter
Dim ds As DataSet
Dim sql As String
Connessione = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" + Server.MapPath("/Gestione Impactweb/Gestione.mdb"))
Connessione.Open()
sql = "Select * From Scadenze where idscadenza=" & Request("id")
adp = New OleDbDataAdapter(sql, Connessione)
ds = New DataSet
adp.Fill(ds, "Scadenze")
Dim Data As String = ds.Tables("scadenze").Rows(0).Item("DataScadenza")
Dim Titolo As String = ds.Tables("scadenze").Rows(0).Item("Titolo")
Dim Descrizione As String = ds.Tables("scadenze").Rows(0).Item("Descrizione")
Titolo_Form.Text = Titolo
Descrizione_form.Text = Descrizione
data_scadenza_form.Text = Data

End If
End Sub

GRAZIE ANCORA A TUTTI PER L'AIUTO E PER LA PAZIENZA CHE AVETE E COMPLIMENTI PER IL FORUM..MOLTO PROFESSIONALE

CIAO MARCO

Cteniza Profilo | Guru

Per poter aggiornare il database dal dataset è necessario utilizzare il dataadapter anche nelle parti che tu non hai configurato.
Prima dell'istruzione mydataadapter.Fill() del dataadapter inserisci:
Dim cmb As New CommandBuilder(myDataAdapter)
Con questa istruzione abbiamo fatto in modo che il commandbuilder scriva per noi le istruzioni per update insert e delete (nel dataadapter esistono appunto 4 command dedicati a select, insert update e delete).
Ciascuno dei command ha la propria connessione (ci sono quindi anche 4 oggetti connection).
Il commandbuilder in alcuni casi non riesce a generare i comandi correttamente.
In questo caso è necessario (meglio se ti abitui da subito a farlo sempre) intervenire scrivendo del codice per ciascuno dei comandi.
Perchè il commandbuilder possa fare il proprio lavoro è necessario che nel dataadapter il comando SelectCommand sia già stato impostato.



Cteniza Profilo | Guru

Scusa, dimenticavo.
Per restituire gli aggiornamenti al database è necessario usare l'istruzione Update() del dataadapter.
Due cose:
- non serve aprire la connessione per il dataadapter, ci pensa lui automaticamente sia ad aprirla che a chiuderla
- è del tutto sbagliato scrivere "acceptchanges" PRIMA di dare il comando Update(), DOPO serve solo se si è configurato il dataset in modo tale che non imposti "AcceptChanges" automaticamente (il default).


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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5