foreach 中DataTable如何使用
我要写数据导入这部分遇到一个难题.我要导入数据时会把要导入的数据新建一个临时数据库tmpAirport里面,然后将tmpAirport和数据库Airport进行对比.如果有新的内容则向Airport里面添加tmpAirport的新内容.现在新建临时数据库已完成.导放的时候对比如何去比对忘了.
请高手把foreach哪段指点指点,在线等
代码如下..
SqlConnection connAirport = new SqlConnection("server=.;uid=sa;pwd=sa;database=Airport");
SqlConnection connDBname = new SqlConnection("server=.;uid=sa;pwd=sa;database=tmpAirport");
//Airport数据查询
SqlCommand cmdAirport = new SqlCommand("select * from AreaBasicAttach where AirportID=6", connAirport);
SqlDataAdapter daAirport = new SqlDataAdapter(cmdAirport);
DataSet dsAirport = new DataSet();
daAirport.Fill(dsAirport);
//导入部分数据查询
SqlCommand cmdDBname = new SqlCommand("select * from AreaBasicAttach where AirportID=6", connDBname);
SqlDataAdapter daDBname = new SqlDataAdapter(cmdDBname);
DataSet dsDBname = new DataSet();
daDBname.Fill(dsDBname);
foreach (DataTable Table in dsDBname.Tables)
{
//这个里面怎么对比然后导入??
}
}
------解决方案--------------------思路有点问题,这样写出来的代码效率很低.
将tmpAirport和数据库Airport进行对比.如果有新的内容则向Airport里面添加tmpAirport的新内容>>=
直接写一条sql语名就搞定了吗:
insert into Airport(字段名,...) select (字段名,...) from tmpAirport where id not in (select id from Airport)
------解决方案--------------------LS 说的是 既然是导同数据类型和结构的数据,何必用第三方来实现呢,本身数据库自己可以实现的东东。
顺便再说 新版CSDN确实不咋地,慢了很多……
------解决方案--------------------同意楼上
也建议楼主在源表中做控制,然后根据一定的条件取源表中的数据,例如加个LastUpdate列,判断在源表该列大于目的表中的Max(LastUpdate),然后把记录取出来。。。
------解决方案--------------------已经结贴,给分