Non esegue l'update nel databese

sabato 14 gennaio 2012 - 15.50
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Visual Studio 2008  |  MySQL 5.5

Mau67 Profilo | Expert

Ciao al forum vi posto il codice che uso per fare l'update dei dati nella tabella ma non aggiorna i dati sapete dirmi dove sbaglio?

Private Sub DtGrid_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DtGrid.UpdateCommand
Try
'quando l'utente clicca sul pulsante aggiorna provvediamo a prendere l'indice
'dove era stato fatto l'edit e quindi la selezione
Dim da As New MySqlDataAdapter("SELECT Nuc, Denominazione, UM, Prezzo, Giacenza FROM Materiali", conn)
da.Fill(ds, "Materiali")
Dim riga As DataRow = ds.Tables("Materiali").Rows(DtGrid.SelectedIndex)
Dim i As Integer
'ora cicliamo i campi editati del datagrid scartando il primo che e quello
'dove risiedono i bottoni
Dim sCampi(5) As String
sCampi(0) = ""
For i = 1 To 5
Dim txt As TextBox = CType(e.Item.Cells(i).Controls(0), TextBox)
sCampi(i) = txt.Text
txt = Nothing
Next
'ora assegnamo ai campi del datarow i valori presi dal Datagrid in locale sul dataset
'per poi provvedere a fare l'update
riga("Nuc") = sCampi(1)
riga("Denominazione") = sCampi(2)
riga("UM") = sCampi(3)
riga("Prezzo") = sCampi(4)
riga("Giacenza") = sCampi(5)
Dim Build As New MySqlCommandBuilder(da)
da.Update(ds, "Materiali")
DtGrid.EditItemIndex = -1
DtGrid.DataSource = ds.Tables("Materiali")
DtGrid.DataBind()
Catch ex As Exception
MsgBox(ex.Message())
End Try
End Sub

Grazie
Mau67

Jeremy Profilo | Guru

Ciao Maurizio.
Viene sollevata qualche eccezione??
Facci sapere....
Ciao

Mau67 Profilo | Expert

No nessuna eccezione
Mau67

Jeremy Profilo | Guru

La proprietà CopyToOutputDirectory del Database a che valore è impostata?
Hai provato a fare il Fill subito dopo L'Update per verificare che effettivamente i dati non siano stati salvati?
Facci sapere...
Ciao

Mau67 Profilo | Expert

Dove trovo questa proprietà CopyToOutputDirectory? il fill lo controllato ma non aggiornai dati
Mau67

Jeremy Profilo | Guru

Ciao Maurizio
CopyToOutputDirectory lo trovi nelle proprietà del Database in VisualStudio
Stasera ci guardo un pò meglio ora non ho molto tempo a disposizione.
Ciao

Jeremy Profilo | Guru

Ciao Maurizio.
Il tuo codice l'ho provato e funziona alla perfezione ... sei sicuro di non ricevere nessuna eccezione??
Visto che siamo in ambiente ASP.NET (finora non me ne ero accorto) sei sicuro di avere tutti i permessi(lettura e scrittura)??
Hai impostato un campo a chiave primaria nella tabella del Db?(altrimenti il commandBuilder non funziona.... ma avresti ottenuto un'eccezione)??

Facci sapere...
Ciao

Mau67 Profilo | Expert

Le win form sono più semplici stò tentando di imparare asp ma è complicato,
non solleva nessuna eccezione
a cosa ti riferisci permessi(lettura e scrittura)??

Mau67

Mau67 Profilo | Expert

Ho trovato il problema praticamente avevo dichiarato la connessione all'interno di un metodo privato e quindi avveniva il caricamento dei dati ma quando andavo a salvare i cambiamenti non trovava la stringa di connesione e quindi non avveniva niente e non dava nessun messaggio di errore perchè il codice non era inserito nel IsPostBack ma giranda in interneto ho trovato questo metodo e allora mi ha gestito l'eccezione.
Grazie a tutti ciao e alla prossima
Mau67
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5