我写了一个将EXCEL导入SQL2000数据库的程序,现在导入功能是实现了,但是他不能识别重复数据,我想问下能不能够在这个导入程序的基础上,实现直接更新数据呢??也就是第一次EXCEL数据被导入之后,数据库里面就有了数据!!
然后以后EXCEL有的数据更新了,我又再次导入,就直接实现更新数据库,而不是又重复导入了!!是否能就在我原来的导入按钮上面同时实现这个功能吗??还是需要再单独用一个按钮来控制更新功能呢??希望有高手能帮我说说怎么做!~~
然后以后EXCEL有的数据更新了,我又再次导入,就直接实现更新数据库,而不是又重复导入了!!是否能就在我原来的导入按钮上面同时实现这个功能吗??还是需要再单独用一个按钮来控制更新功能呢??希望有高手能帮我说说怎么做!~~
解决方案 »
- delphi 数据包 date:Sun, 04 Jan 2009 07:18:12 GMT
- 为什么delphi的dbgrid只显示后八个字段呢?
- 关于文件的模糊查找
- ttreeview内部是怎样判断何时显示水平滚动条的
- 安装程序
- 在哪里升级Windows2000的ADO驱动程序??
- 请教高手,如何实现对计算字段的排序
- windos2000运行DELPHI7.0做的程序需要打什么补丁吗
- 兄弟们救救我!关于paradox数据库的大问题!!!!!
- 如何将richedit中的内容保存在Access数据库中
- 能否获取dbgrid的总行数,如果能,该如何获取?
- 请各位帮忙看看,这个是把文本框的数值写到数据库中,修改的那部分没错,但是新增的老是说什么类型不匹配!
2.导入前先delete表中所有数据,这样导入就不会重复了
with ADOQuery2 do
begin
ADOQuery2.SQL.clear;
ADOQuery2.SQL.add('select * from [sheet1$]');
ADOQuery2.Open;
ADOQuery2.First;
end; ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add('select * from Pub_Btype');
ADOQuery1.Open;
iNo:=1;
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.add('select * from Pub_Btype_Assist');
ADOQuery3.Open;
ADOQuery3.delete;
ADOQuery1.delete; with Adoquery2 do while not eof do
begin
是要写sql语句,把表中原有的数据全部清空
delete from ADOQuery1的表
delete from ADOQuery3的表
with ADOQuery2 do
begin
ADOQuery2.SQL.clear;
ADOQuery2.SQL.add('select * from [sheet1$]');
ADOQuery2.Open;
ADOQuery2.First;
end; ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add('select * from Pub_Btype');
ADOQuery1.Open;
iNo:=1;
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.add('select * from Pub_Btype_Assist');
ADOQuery3.Open;
with Adoquery2 do while not eof do
begin
//先 select 单位名称 from 表名 where 单位名称='+QuotedStr(你的值);查出后,判断是否有数据,如果有,那就next,不添加,如果没有,就往下执行添加代码
end;
begin
select @count=count(1) from [sheet1$] where [sheet1$].名称 not in (select fullname from Pub_Btype);
if @count>1 ;
。
。
。
。
为什么不行啊??