datatable dt1=Excel查出的数据
datatable dt2=SQL中的数据。
要查在dt1中不包含dt2的数据,你要有个查询的规则,反正肯定是dt1中某一列数据跟dt2中的某一列数据做比较了。这样思路就清晰了
DataTable dt3=dt1.Clone();//复制dt1中的数据结构
for(int i=0;i
DataRow[] dr=dt1.Select("dt1中要比较的那一列的字段名="+dt2.Rows[i]["dt2中你要比较的那一列"]);//用datatable自带的select方法,效率问题的话,第一次检索几W条也就几秒吧,第二次就很快了
foreach(DataRow row in dr)
{
dt3.ImportRow(row);//循环结束后,dt3就是你想要的结果了..
}
}
新建一个datatable dt3,表结构只要保留dt1的ID即可,帮助中有方法;
按dt1循环,用rowfilter过滤dt2,如果没有,把dt1的ID保存在dt3中;
rowfilter的方法在帮助中有,或百度一下,呵呵。
如下语句:
select * into dt3 from dt1where dt1.ID not in
(select ID from dt2)
写sql语句
dt1要显示多少行 dt2要显示多少行 其它的放在另一个中
bool 是否存在 = false;
foreach(DataRow row_table1 in dt1.Rows){
if(是否存在) break; //找到了跳出循环
foreach(DataRow row_table2 in dt2.Rows){
if(row_table1["字段"].ToString() == row_table2["字段"].ToString()){
是否存在 = true;
}
if(是否存在) break; //找到了跳出循环
}
}