在datagridview中,我有一個複選框列,其中複選框被選中的行應該從datagridview以及從數據庫中刪除,當我點擊delete
按鈕時,我正在使用這個代碼做這個功能,使用此代碼我能夠從datagidview中刪除行,但從數據庫中刪除它時,我得到此異常Data type mismatch in criteria expression.
此行代碼cmd.ExecuteNonQuery();
我在哪裏出錯了,應該做什麼修正我得到這個工作從數據庫和datagridview刪除行
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);
}
在此先感謝您的幫助
在你的數據庫中,QID是一個字符串還是某種類型的整數? – Vahlkron
因爲我使用Microsoft Access所以QID是文本類型的整數 – Durga