0

我在删除数据库中的条目时遇到了一些麻烦。我可以插入数据,但我不能删除它们。

我有一个 2 变量数据库,我想管理这些数据。

但是当我调试程序时,第一个按钮 (btnAdicionar) 工作正常,但是当我按下按钮“btnRemover”时,我在“cmd.ExecuteNonQuery();”行出现错误

我究竟做错了什么?谢谢

这是代码:

    private void btnAdicionar_Click(object sender, EventArgs e)
    {
        OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\BancodeDados\\Nomes.mdb");
        string sql = "INSERT INTO Nomes (Nome, Sobrenome) VALUES(?, ?)";
        OleDbCommand cmd = new OleDbCommand(sql, conn);
        conn.Open();
        cmd.Parameters.AddWithValue("Nome", txtNome.Text);
        cmd.Parameters.AddWithValue("Sobrenome", txtSobre.Text);
        cmd.ExecuteNonQuery();
        conn.Close();
        this.nomesTableAdapter.Fill(this.nomesDataSet.Nomes);
    }

    private void btnRemover_Click(object sender, EventArgs e)
    {
        OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\BancodeDados\\Nomes.mdb");
        string sql = "DELETE FROM Nomes (Nome, Sobrenome) WHERE (?, ?)";
        OleDbCommand cmd = new OleDbCommand(sql, conn);
        conn.Open();
        cmd.Parameters.AddWithValue("Nome", txtNome.Text);
        cmd.Parameters.AddWithValue("Sobrenome", txtSobre.Text);
        cmd.ExecuteNonQuery();
        conn.Close();
        this.nomesTableAdapter.Fill(this.nomesDataSet.Nomes);
    }
4

1 回答 1

6

您的删除语句不是有效的 SQL,因此在您调用时出现错误ExecuteNonQuery

它应该是这样的:

DELETE FROM Nomes WHERE Nome= ? and Sobrenome = ? 
于 2012-08-31T20:20:15.820 回答