从DataGridview单元格中删除记录数据库

时间:2012-03-02 15:26:52

标签: c#

我在c sharp中有一个删除按钮语法问题 我做了一个像这个删除按钮的语法

string conection = "Provider = Microsoft.Jet.OleDb.4.0;Data Source=Database.mdb";
try
{
    int i = 0;
    for (i = 0; i < dataGridView1.CurrentRow.Cells.Count; i++)
    {
        DataGridViewCell cell = dataGridView1.CurrentRow.Cells[i];
        if (cell.Selected == true)
        {
            string sql = string.Format("DELETE * FROM mahasiswa WHERE " + i + " ");

            OleDbConnection conn = new OleDbConnection(conection);
            conn.Open();
            dataGridView1.Rows.RemoveAt(i);

            OleDbCommand cmd = new OleDbCommand(sql, conn);
            cmd.ExecuteNonQuery();

            conn.Close();
        }
    }
}
catch (OleDbException ex)
{
    MessageBox.Show(ex.ToString());
}

但是代码是查询中的语法错误,数据库记录不会去删除

如何编码查询语法是否正确? 请帮帮我

我创建了一个数据库,从microsoft访问名称和表名称database.mdb供应商,列ID,名称,地址 主键:id

1 个答案:

答案 0 :(得分:1)

您的sql语法错误。它应该是这样的:

string sql = string.Format("DELETE FROM mahasiswa WHERE id = {0}", i.ToString());