Ho un DataGridView nel quale visualizzo i dati provenienti da una tabella.
La carico con questa funzione:
codice:
Private Sub PopolaGriglia()
Connessione = New OleDbConnection
Connessione.ConnectionString = Stringa_Connessione
Connessione.Open()
Query = "SELECT IdProduzione as Id,Data,(SELECT Linea FROM Linee WHERE Linee.IdLinea=Produzioni.IdLinea) AS Linea,IdTurno AS Turno,(SELECT Descrizione FROM Formati WHERE Formati.IdFormato=Produzioni.IdFormato) AS Prodotto,Casse AS Casse_Prodotte FROM Produzioni ORDER BY Data DESC"
Adattatore = New OleDbDataAdapter(Query, Connessione)
TabellaDataSet = New DataSet
Adattatore.Fill(TabellaDataSet, "Produzioni")
Dim ComandoCancellazione As New OleDbCommand
ComandoCancellazione.CommandText = "DELETE FROM Produzioni WHERE IdProduzione=?"
ComandoCancellazione.Connection = Connessione
Adattatore.DeleteCommand = ComandoCancellazione
DataGridView.DataSource = TabellaDataSet
DataGridView.DataMember = "Produzioni"
Connessione.Close()
End Sub
Fin qui tutto ok... La griglia mi viene popolata correttamente, senza nessun problema. E' il comando cancellazione che non so come impostarlo. In pratica sull'evento di cancellazione di una riga della DataGridView voglio implementare la cancellazione fisica di quella riga dal database, per cui non so come comando cancellazione cosa mettere....
In pratica sull'evento di cancellazione, scrivo questo:
codice:
Private Sub DataGridView_UserDeletedRow(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowEventArgs) Handles DataGridView.UserDeletedRow
Adattatore.Update(TabellaDataSet, "Produzioni")
End Sub
che ovviamente non funziona, funziona se nel comando di cancellazione al posto del punto interrogativo metto un ID valido... Ma non so come costruire il commandtext....
Premetto: vengo dal VB6 e con questo dataadapter non ho capito niente, ci sono esempi a migliaia ma niente che ti faccia capire come strutturare queste cose manualmente, io odio le procedure guidate, non fanno capire una cicca