這裏我有兩個數據表dtPartMaster([零件編號導出])和dtPartBackUp([零件編號備份],[重量]) 現在我想刪除dtPartBackUp其中[份數備份]不dtPartMaster存在([型號導出]) 我的邏輯是這樣的,但它需要很長時間來處理陀飛輪記錄快速從數據表中刪除行不在其他數據表中找到
button1_click()
{ int count = 0;
//line remove for clearity
foreach (DataRow dr in dtPartBackUp.Rows)
{
if (!CheckPartNumber(dr["Part Number Backup"].ToString(), dtPartMaster))
{
dtPartBackUp.Rows[count].Delete();
}
count++;
}
dtPartBackUp.AcceptChanges();// to accept changes
}
private bool CheckPartNumber(string PartNumber, DataTable dt)
{
bool flag = false;
DataRow dr = dt.Select("[Part Number Exported] Like '" + PartNumber + "'").FirstOrDefault();
if (dr != null)
flag = true;
dr = null;
return flag;
}
在此先感謝 阿姆裏特
'返回0行',哪個方法返回0行? –
CompareTwoDataTable()的返回數據表中有0行 – user547534
和第一種方法「檢查()的工作正常,但你爲何用「喜歡」的檢查方法花費時間過長 – user547534