删除记录成功,但它会删除 Windows 窗体中数据库中的所有记录



我有一个问题。当我尝试在程序运行时删除数据库中的单个记录时,就会发生这种情况。删除记录正常工作,但它正在删除数据库中的所有记录。我该如何解决这个问题?首先,我使用 datagridview 查看数据库中的数据,一旦用户单击某行,并且用户单击删除,它应该删除已选择用户的某个行,但它是删除所有记录。

这是代码:

private void DeleteRecord(object sender, EventArgs e)
{
    if (fifthForm.comboBox1.Text == "English")
    {
        using (OleDbConnection conn = new OleDbConnection(connectionString))
        {
            string query = "DELETE FROM [SeranneRecord]";
            conn.Open();
            using (OleDbCommand cmd = new OleDbCommand(query, conn))
            {
                using (OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn))
                {
                    DataTable ds = new DataTable();
                    dataGridView.Rows.RemoveAt(dataGridView.CurrentRow.Index);
                    adapter.Update(ds);
                    dataGridView.DataSource = ds;
                    cmd.ExecuteNonQuery();
                    System.Media.SoundPlayer sound = 
                             new System.Media.SoundPlayer(
                             @"C:WindowsMediaWindows Notify.wav");
                    sound.Play();
                    MessageBox.Show("Deleted Successfully", "Deleted");
                }
            }
        }
    }

谢谢,我还想问一下如何使用数据网格视图修改记录。谢谢

您正在删除数据网格行 : ( dataGridView.Rows.RemoveAt(dataGridView.CurrentRow.Index); ),但您没有使用该行中的任何信息在查询中创建 WHERE 子句。您需要类似"从表名中删除"的内容,其中记录名称="记录删除"。

最新更新