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.Closed
Mod. 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.