Удаление выбранной строки из БД MySQL через приложение C#
Необходимо из приложения, разработанного на C# WinForms, удалить запись из таблицы в БД MySQL и в приложении (используется DataGridView). С этим кодом запись удаляется и из таблицы и из БД, но потом, если вновь добавляется та же запись, то в БД она есть, а в таблице DataGridView - отсутствует. Например: была запись: | 1 | Покупка|. Пользователь ее удалил по ошибке, он вводит данные снова и при нажатии кнопки "Добавить", запись добавится только в БД, в DGV ее не будет. Однако, если приложение перезапустить - запись подтягивается из БД.
MySqlCommand sqlCmd = new MySqlCommand();
sqlCmd.Connection = sqlConn;
sqlConn.Open();
sqlCmd.CommandText = "Delete from operation where кодОперации=" + кодОперацииTextBox.Text + "";
sqlCmd.ExecuteNonQuery();
sqlConn.Close();
foreach (DataGridViewRow row in operationDataGridView.SelectedRows)
{
operationDataGridView.Rows.Remove(row);
}
Код кнопки Добавить:
private void buttonDobavit_Click(object sender, EventArgs e)
{
sqlConn.ConnectionString = "server=127.0.0.1;user id=root;password=Password;database=ra";
try
{
sqlConn.Open();
sqlQuery = "INSERT INTO ra.operation (КодОперации, НазвОпер)" +
"values('" + кодОперацииTextBox.Text + "' , '" + назвОперTextBox.Text + "' )";
sqlCmd = new MySqlCommand(sqlQuery, sqlConn);
sqlRd = sqlCmd.ExecuteReader();
sqlConn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
sqlConn.Close();
}
upLoadData();
}
private void upLoadData()
{
sqlConn.ConnectionString = "server=127.0.0.1;user id=root;password=Password;database=ra";
sqlConn.Open();
sqlCmd.Connection = sqlConn;
sqlCmd.CommandText = "SELECT * FROM ra.operation";
sqlRd = sqlCmd.ExecuteReader();
sqlDt.Load(sqlRd);
sqlRd.Close();
sqlConn.Close();
operationDataGridView.DataSource = sqlDt;
}