Member 9983063 Ответов: 1

Как удалить строки datarow


Привет, ребята, я надеюсь, что вы будете в порядке, ну я здесь с новой проблемой сталкиваюсь, то есть я хочу выбрать значения из базы данных и передать это значение в виде таблицы данных в таблицу данных
проблема в том, что он работает нормально, но когда я добавляю 1 или более элементов с новыми значениями, предыдущие значения также добавляются в представление сетки данных, а во-вторых, когда я удаляю один из представлений сетки данных, я получаю ошибку на кнопке удаления

Что я уже пробовал:

кнопка Delete
private void button7_Click_1(object sender, System.EventArgs e)
{
    foreach (DataGridViewRow item in dataGridView1.Rows)
    {
        if (bool.Parse(item.Cells[1].Value.ToString()))
        {
            con_string.Open();
            OleDbCommand command = new OleDbCommand();
            command.Connection = con_string;
            command.CommandText = "Delete from [Runtime] Where [Values] = " + item.Cells[0].Value.ToString() + "";
            command.ExecuteNonQuery();
            con_string.Close();
        }
con_string.ConnectionString = @"Provider = Microsoft.ACE.OLEDB.12.0;Data Source =|DataDirectory|\Restaurant.accdb;Persist Security Info=False";
            DataSet dsa = new DataSet();
            DataTable dt = new DataTable();
            dsa.Tables.Add(dt);
            OleDbDataAdapter da = new OleDbDataAdapter();
            da = new OleDbDataAdapter("SELECT * FROM [Runtime] where [column3] = '"+dineinno.ToString()+"'", con_string);
            da.Fill(dt);
            //dataGridView3.DataSource = dt;
            foreach (DataRow item in dt.Rows)
            {
                int n = dataGridView1.Rows.Add();
                dataGridView1.Rows[n].Cells[2].Value = item["Column3"].ToString();
                dataGridView1.Rows[n].Cells[0].Value = item["Values"].ToString();
                
            }
            dt.Clear();
            con_string.Close();

RickZeeland

И что именно вы получаете в сообщении об ошибке ? Можете ли вы также сказать, на какой линии происходит ошибка ?

1 Ответов

Рейтинг:
2

KarstenK

Я предполагаю, что вы получаете доступ к удаленным и поэтому недействительным данным.

Я не уверен, но последняя строка

con_string.Close();
похоже на закрытие замкнутого соединения.

Разве нет сообщения об ошибке? Как насчет отладки вашего кода для поиска строки кода ошибки и Google на минуту?