hur.cn - 华软网

 热门搜索

两个数据窗口中的数据对比

  作者:未知    来源:网络    更新时间:2019/1/5
现在有2个数据窗口,我编写了程序从外部份别导入2个EXCLE资料,都只有一列数据,全数是数字。
但并没有保存到数据库中,只是导入到了数据窗口中。请问大家用什么命令提取其中一个数据窗口中的数据到另一个数据中查询,如果找到了则在原数据窗口中把该行数据删除!
------华软网友回答------
循环逐行读取其中一个dw的数据,然后到另一个里面find,如果有则deleterow()
------华软网友回复------

怎么逐行读取数据?你说的意思我也知道,但逐行读取数据的代码我写不来。请指教


我写了这段代码,不行,有毛病。
for row=1 to dw_1.rowcount()
    if not find this row in dw_1 then
       delete this row in dw_2
    end if
next
------华软网友回复------
long row ,ll_row
for row=1 to dw_1.rowcount()
ll_row = dw_2.find("列 = '"+dw_1.getitemstring(row,列)+"'",1,dw_2.rowcount())
if ll_row > 0 then
dw_2.deleterow(ll_row)
dw_2.accepttext()
end if    
next

------华软网友回复------
列如果是number类型得
sring ls_filter
ls_filter = "number = " + string (dw_1.getitemnumber(row,'number'))
dw_2.find(ls_filter,1,dw_2.rowcount())

------华软网友回复------
ll_row = dw_2.find("列 = '"+dw_1.getitemstring(row,列)+"'",1,dw_2.rowcount())
这里的列最好用主键列,以防重复删除其余行.
------华软网友回复------
用数据窗口对照多麻烦,建两个临时表,写个SQL就能够对照出来了
------华软网友回复------
我写了这段代码,不行,有毛病。
for row=1 to dw_1.rowcount()
    if not find this row in dw_1 then
       delete this row in dw_2
    end if
next

=========================
这也叫代码,这只是一个逻辑流程. 基本不是代码! 


------华软网友回复------
既然能够在dw里面有数据,那么,你做个循环,从dw里面读取数据,然后用insert语句插入表中。
也许,你写方法直接从excel里面getcell(行,列)读取数据,insert到数据库里面
------华软网友回复------
那还不如放到两内外.
a,b
delete * from b where id in (select id from a)      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。