| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3642 人关注过本帖
标题:怎样实现在导入excel时判断数据与数据库的数据是否重复!
只看楼主 加入收藏
zhang123
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-5-9
收藏
 问题点数:0 回复次数:6 
怎样实现在导入excel时判断数据与数据库的数据是否重复!
怎样写代码在导入excel时判断数据与数据库的数据是否重复,这个代码还好写,但在导入的同时怎样将重复的数据的行号记录下来并显示出来.
如我现在准备导入的文件有10条数据,有3条数据是与现在的数据库重复的,而且该文件本身就要3条数据重复,在导入时如何写代码判断出这些重复并记录下来和显示出来?请高手指教
搜索更多相关主题的帖子: 数据库 excel 判断 
2006-10-21 23:24
jimn2000
Rank: 2
等 级:新手上路
威 望:3
帖 子:274
专家分:0
注 册:2006-4-3
收藏
得分:0 
不怎么明白。举个例子可以吗。我也想学下

欢迎大家访问我的网站 www. 域名代理网站 web.
2006-10-28 15:54
zhang123
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-5-9
收藏
得分:0 

如:导入文件:
1 ee 22
2 ww ww
3 ss 11
4 qq 22
5 ee 22

该导入文件中有重复数据,而数据库中存在" 2 ww ww".
我写好了,用建一个新表存错误数据.然后在逐条数据取出来跟数据库比对和导入到数据窗口的数据比较,若存在相同就写条数据进错误表,

2006-10-29 20:41
jimn2000
Rank: 2
等 级:新手上路
威 望:3
帖 子:274
专家分:0
注 册:2006-4-3
收藏
得分:0 

/***********************************************
function : wf_itemcheck
author : baoshuai
create : 2006.09.08
des : 导入物质空值和唯一性检查
***********************************************/

string ls_pm,ls_cz,ls_gg,ls_cd,ls_ck,ls_cch,ls_rkph,ls_mdh,ls_kbh
string ls_jlfs,ls_wzly,ls_bz,ls_sl1,ls_sl2,ls_cph,ls_lph,ls_jbh,ls_jjdw
string ls_msg
long ll_row
dec lde_sl1,lde_sl2
datetime ldt_drrq

ldt_drrq = f_get_sysdate()
if al_rowcount <= 0 then return 0

for ll_row = 1 to al_rowcount
ls_pm = dw.object.pm_[ll_row]
if isnull(ls_pm) then
ls_msg = '第['+string(ll_row)+']行导入物资的品名不允许为空'
messagebox('提示',ls_msg)
return 0
end if

ls_cz = dw.object.cz_[ll_row]
if isnull(ls_cz) then
ls_msg = '第['+string(ll_row)+']行导入物资的材质不允许为空'
messagebox('提示',ls_msg)
return 0
end if

ls_gg = dw.object.gg_[ll_row]
if isnull(ls_gg) then
ls_msg = '第['+string(ll_row)+']行导入物资的规格不允许为空'
messagebox('提示',ls_msg)
return 0
end if

ls_cd = dw.object.cd_[ll_row]
if isnull(ls_cd) then
ls_msg = '第['+string(ll_row)+']行导入物资的产地不允许为空'
messagebox('提示',ls_msg)
return 0
end if

ls_ck = dw.object.ck_[ll_row]
if isnull(ls_ck) then
ls_msg = '第['+string(ll_row)+']行导入物资的仓库不允许为空'
messagebox('提示',ls_msg)
return 0
end if


ls_rkph = dw.object.rkph_[ll_row]
if isnull(ls_rkph) then
ls_msg = '第['+string(ll_row)+']行导入物资的入库批号不允许为空'
messagebox('提示',ls_msg)
return 0
end if

ls_cch = dw.object.cch_[ll_row]
if isnull(ls_cch) then
ls_msg = '第['+string(ll_row)+']行导入物资的仓储号不允许为空'
messagebox('提示',ls_msg)
return 0
end if

ls_mdh = dw.object.mdh_[ll_row]
if isnull(ls_mdh) then
ls_msg = '第['+string(ll_row)+']行导入物资的码单号不允许为空'
messagebox('提示',ls_msg)
return 0
end if
long ll_count,ll_row1,ll_cnt=0
for ll_row1 = 1 to ll_row -1
if ls_mdh = dw.object.mdh_[ll_row1] then ll_cnt += 1
next
select count(1) into :ll_count from jy_kc_wzdr where htfphm_ = :ls_mdh;
if ll_count > 0 or ll_cnt > 0 then
ls_msg = '第['+string(ll_row)+']行导入物资的码单号:“'+ls_mdh+'”数据库中已经存在。'
messagebox('提示',ls_msg)
return 0
end if

ls_sl1 = dw.object.sl1_[ll_row]
lde_sl1 = dec(trim(ls_sl1))

ls_sl2 = dw.object.sl2_[ll_row]
lde_sl2 = dec(trim(ls_sl2))
if isnull(lde_sl2) then lde_sl2 = 0
if lde_sl2 = 0 then
ls_msg = '第['+string(ll_row)+']行导入物资的入库重量不允许为“0”'
messagebox('提示',ls_msg)
return 0
end if

ls_jjdw = dw.object.jjdw_[ll_row]
if isnull(ls_jjdw) then
ls_msg = '第['+string(ll_row)+']行导入物资的记件单位不允许为空'
messagebox('提示',ls_msg)
return 0
end if

ls_jlfs = dw.object.jlfs_[ll_row]
if isnull(ls_jlfs) then
ls_msg = '第['+string(ll_row)+']行导入物资的计量方式不允许为空'
messagebox('提示',ls_msg)
return 0
end if
next

return 1

我写的代码,供参考


欢迎大家访问我的网站 www. 域名代理网站 web.
2006-11-08 11:12
jiazishu
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-11-9
收藏
得分:0 
支持楼上的代码!
2006-11-09 10:54
cheng_sui
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-1-7
收藏
得分:0 
excel导入问题
你们好,我想问下如何将excel里的数据用pb编程导入到sybase数据库中?有代码吗?谢谢
2007-01-07 11:23
adamswater
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-9-24
收藏
得分:0 
你可以用insert来插入,在插入之前进行判断
2007-01-12 23:38
快速回复:怎样实现在导入excel时判断数据与数据库的数据是否重复!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019374 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved