去除重复源代码
发布网友
发布时间:2022-05-02 17:43
我来回答
共4个回答
热心网友
时间:2022-06-21 02:41
那就必须在你从excel导入数据的时候判断你这条数据在数据库中是否存在..存在这提示用户数据已存在,不存在则添加,添加后显示操作结果..
一样的..第一条保存到DataSet里面..后面从excel导入的数据就和DataSet里面的数据比较是否有相同的..没有这添加到DataSet,有着不添加..
热心网友
时间:2022-06-21 02:42
在dataset中判断啊
只在数据少的情况下
热心网友
时间:2022-06-21 02:42
没有特别简单的办法。
从代码易理解的角度讲,你可以foreache一下dataset做判断。
热心网友
时间:2022-06-21 02:43
####################################################
对,我好像说过吧,不管excel怎么乱序.在excel读出来的时候可以排序嘛,如下:
1.select *from [sheet1$] order by ID
2.或者select *from [sheet1$]
放到table 里后也可以排序,如
DataRow[] rows = dt.Select("", "ID asc");
这两个二选一就可以了
#####################################################
如果有一列叫ID
-----------------------------------
DataSet ds = new DataSet();
//把excel里的结果集填充到ds里
DataTable table=ds.Tables[0].Clone();//克隆表结构到table,table中将存放无重复数据
string temp = "";
DataRow[] rows = dt.Select("", "ID asc");//按Name 递增排序
//如果在查询时对记录order by Name了,就可以省去上面那条排序语句,且下面的rows改为ds.Tables[0].Rows
foreach (DataRow dd in rows)
{
if(!temp.Equals(dd["ID"].ToString()))
{
temp = dd["ID"].ToString();
table.ImportRow(dd);
}
}
//这时候table中存放的就是无重复记录
this.dataGridView1.DataSource = table;