Onko mahdollista poistaa rivi DataGridView:sta ja että sama
muutos tapahtuu MySQL:ssäkin? Koodi, joka yritän tehdä tämä löytyy tekstin alla.
Dim connDatagrid As New MySqlConnection
Dim myCommand As New MySqlCommand
Dim queryDatagrid As String
Dim myCommandBuilder = New MySqlCommandBuilder(myAdapter)
Dim ConnectionString = "server=127.0.0.1;" & "uid=root;" & "pwd=;" & "database=phonebook;"
'LabelPrint.Visible = True
ButtonErase.Enabled = False
queryDatagrid = "delete from vnstelefon where id = '" + IdErase.ToString + "'"
connDatagrid.ConnectionString = ConnectionString
Try
connDatagrid.Open()
Try
myCommand.Connection = connDatagrid
myCommand.CommandText = queryDatagrid
myAdapter.DeleteCommand = myCommand
'myCommand.Parameters.Remove("Delete from vnstelefon where id = '" + IdErase.ToString + "'")
'myAdapter.
connDatagrid.Close()
queryDatagrid = "select * from phone"
connDatagrid.ConnectionString = ConnectionString
connDatagrid.Open()
myCommand.Connection = connDatagrid
myCommand.CommandText = queryDatagrid
myAdapter.SelectCommand = myCommand
myAdapter.Fill(mydata)
DataGridViewTele.DataSource = mydata
DataGridViewTele.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
IdErase = DataGridViewTele.SelectedCells(0).Value
Catch myerror As MySqlException
MsgBox("There was an error reading from the database: " & myerror.Message)
End Try
connDatagrid.Close()
Catch myerror As MySqlException
MessageBox.Show("Error connecting to the database: " & myerror.Message)
Finally
If connDatagrid.State <> ConnectionState.ClosedMod. edit: kooditagit & siirto oikeammalle alueelle
Mikäli en nyt ihan puutaheinää puhu niin hommanhan pitäis toimia seuraavasti. DataGridViewin datasourceksi laitetaan dataset, joka täytetään tietokannasta. Nyt kun datagridistä poistetaan rivi niin se merkataan poistetuksi myös datasetistä (tämä tapahtuu automaattisesti). Seuraavaksi annetaan määritetylle dataAdapterille updatekomento päivittää koko dataset tai tietty taulu ja näin tietokanta on päivittynyt samalla kuin datagridikin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.