Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Passaggio dataset
domenica 20 novembre 2005 - 21.09
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Marc1982
Profilo
| Newbie
34
messaggi | Data Invio:
dom 20 nov 2005 - 21:09
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
1.509
messaggi | Data Invio:
dom 20 nov 2005 - 23:19
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
1.509
messaggi | Data Invio:
dom 20 nov 2005 - 23:23
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).
Torna su
Stanze Forum
Elenco Threads
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 !