我无法从数据库中删除信息

Lin*_*ina 0 c# sql database datagridview

我在从数据库中删除所选行时遇到问题,事实上,我在C#中有一个Form,其中包含连接到数据库的dataGridView和一个"Delete"按钮,当我在按钮上显示时,这应该删除所选的信息dataGridView和database中的row(cell [0]和cell [1]).现在,我在从数据库中删除所选行时遇到问题这是我的代码:

private void button4_Click(object sender, EventArgs e)
        {
            if (journalDataGridView.SelectedRows.Count == 1)
            {
                DataGridViewRow row = journalDataGridView.SelectedRows[0];
                journalDataGridView.Rows.Remove(row);
                SqlConnection connection = new SqlConnection(connectionString);
                connection.Open();
                SqlCommand sql = new SqlCommand("delete from journal where code_journal='" + journalDataGridView.CurrentRow.Cells[0].Value.ToString() + "'AND intitule='" + journalDataGridView.CurrentRow.Cells[1].Value.ToString() + "';", connection);
                connection.Close();
            }
}
Run Code Online (Sandbox Code Playgroud)

dataGridView包含两列"code_journal and initule",感谢您的帮助

Lar*_*ech 5

您正在删除该行,然后使用CurrentRow属性引用错误的行.

您也没有使用参数来避免sql注入.

您也没有执行命令:

DataGridViewRow row = journalDataGridView.SelectedRows[0];
connection.Open();
using (SqlCommand sql = new SqlCommand("delete from journal where code_journal=@codeJournal..", connection)) {
  sql.Parameters.AddWithValue("@codeJournal", row.Cells[0].Value.ToString());
  sql.ExecuteNonQuery();
}
connection.Close();
journalDataGridView.Rows.Remove(row);
Run Code Online (Sandbox Code Playgroud)