在datagridview中,我有一个复选框列,选中复选框的行应该在我单击按钮时从datagridview以及数据库中删除delete
,我正在使用此代码来执行此功能,使用此代码我能够从datagidview中删除行,但是在从数据库中删除它时,我Data type mismatch in criteria expression.
在这行代码之后出现了这个异常cmd.ExecuteNonQuery();
,我出错了,我应该做些什么更正才能让这个工作
private void button1_Click(object sender, EventArgs e)
{
List<int> ChkedRow=new List<int>();
DataRow dr;
List<int> ChkedRowQid=new List<int>();
for (int i = 0; i <= dataGridView1.RowCount - 1; i++)
{
if (Convert.ToBoolean(dataGridView1.Rows[i].Cells["select"].Value) == true)
{
ChkedRow.Add(i);
ChkedRowQid.Add(Convert.ToInt16(dataGridView1.Rows[i].Cells["QID"].Value));
}
}
foreach (int k in ChkedRow)
{
dr = dt.Rows[k];
dt.Rows[k].Delete();
foreach(int j in ChkedRowQid)
{
bool flag=false;
try
{
string sql = "DELETE FROM Questions WHERE QID='" + j + "' ";
OleDbCommand cmd = new OleDbCommand(sql,acccon);
cmd.ExecuteNonQuery();
flag = true;
}
catch(Exception err)
{
}
}
//dt.Rows.Remove(dr);
}
提前感谢您的帮助