rowscopy()怎么老是不成功?

grt 2005-06-23 01:52:50
我用的是PB6.5
表结构完全相同,顺序也相同。数据窗口分别是dw_1,dw_2,放在同一窗口w_zk。
int currow
currow = w_zk.dw_1.getrow()
w_zk.dw_1.rowscopy(currow,currow,Primary!,w_zk.dw_2,1,Primary!)
就是不能成功,return=-1,各位帮忙看看,错在那里?
...全文
928 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangrongxin 2005-08-02
  • 打赏
  • 举报
回复
哈。。我刚使用过RowsCopy,,一点问题都没
davidtc 2005-07-23
  • 打赏
  • 举报
回复
建议楼主运行一下 pb examples ,那里面有rowscopy,看看能否成功
davidtc 2005-07-23
  • 打赏
  • 举报
回复
不要误导了楼主呀

rowscopy不需要dw1和dw2有相同的数据源,甚至于不需要dw1和dw2的字段名相同。
可以说,rowscopy的唯一标准是:dw1和dw2拥有相同的字段类型和结构。

例如:
dw1有:long , char , char , long
那么,dw2也要有: long , char , char , long
但是不需要这4个列的名字相同,更不需要两个表的名字相同
zxjnew 2005-07-23
  • 打赏
  • 举报
回复
不用说了,楼主的表名不同,这个是用不了rowcopy的!!
PHDYCN 2005-07-23
  • 打赏
  • 举报
回复
确认如 davidtc(我說兩句) 根本上只用对应字段的数据类型一致
PHDYCN 2005-07-22
  • 打赏
  • 举报
回复
table_2就是table_1用数据管道生成的 所以表结构应该是一样的
保证两者一致,是指打开数据窗口 点击工具栏中的‘SQL’可以看到数据窗口的后台获取额数据列
例如 SELECT "haveallotshouldacceptmoney"."id",
"haveallotshouldacceptmoney"."deptname",
"haveallotshouldacceptmoney"."outdate",
"haveallotshouldacceptmoney"."saleid",
"haveallotshouldacceptmoney"."salemoney",
"haveallotshouldacceptmoney"."moveid",
"haveallotshouldacceptmoney"."salereturn",
"haveallotshouldacceptmoney"."madedate",
"haveallotshouldacceptmoney"."invoice",
"haveallotshouldacceptmoney"."invoicemoney",
"haveallotshouldacceptmoney"."gatheringdate",
"haveallotshouldacceptmoney"."gatheredmoney",
"haveallotshouldacceptmoney"."shouldmoney",
"haveallotshouldacceptmoney"."com1",
"haveallotshouldacceptmoney"."com2",
"haveallotshouldacceptmoney"."com3",
"haveallotshouldacceptmoney"."com4",
"haveallotshouldacceptmoney"."com5",
"haveallotshouldacceptmoney"."com6",
"haveallotshouldacceptmoney"."com7"
FROM "haveallotshouldacceptmoney"
需要保证两个数据窗口的列的先后顺序一致, 而不是前台看到的顺序。

如果没有问题的话
int currow
currow = w_zk.dw_1.getrow()
If currow > 0 and isvalid(w_zk) Then
w_zk.dw_1.rowscopy(currow,currow,Primary!,w_zk.dw_2,1,Primary!)
End If
huangrongxin 2005-07-22
  • 打赏
  • 举报
回复
dw_2.Object.Data = dw_1.Object.Data
MINDNET 2005-06-23
  • 打赏
  • 举报
回复
试一下.dw_2.object.data[1] = dw_1.object.data[1]
lzheng2001 2005-06-23
  • 打赏
  • 举报
回复
怎么我没遇过这种问题? 可能是某个列的位置有些不同,不防试试两个DW用同一个dw object,然后用rowscopy肯定没问题
grt 2005-06-23
  • 打赏
  • 举报
回复
一样的。我查了有史以来的帖子,都没有圆满地解决。我不想再花时间了。
用dw_1.getitem()再用dw_2.setitem(),一下子就成功了。
谢谢各位。
huangxinru 2005-06-23
  • 打赏
  • 举报
回复
顺序一样吗?
grt 2005-06-23
  • 打赏
  • 举报
回复
什么叫二个数据源完全一样?是否要同一个表吗?二个表名不一样,但其它都一样行不行呢?
表结构一样,字段也一样,就是表名称不一样,数据窗口名也不一样,可以吗?
huangxinru 2005-06-23
  • 打赏
  • 举报
回复
我所说的是dw的datasource,并不特指表结构呀
grt 2005-06-23
  • 打赏
  • 举报
回复
毛毛熊朋友,我没有用select 二个数据窗口在窗口中打开后,就用rowscopy()了,没用到select啊?
请指教!
qianfl 2005-06-23
  • 打赏
  • 举报
回复
表结构一样不一样无所谓,关键是数据窗口的select后的字段列表是否一样
grt 2005-06-23
  • 打赏
  • 举报
回复
看来语法上没问题吧,我查了历来的帖子,也都没说完全的,是不是pb的bug。
如果不行。只能用笨办法了,不过有简单一点的SQL语法的,不要每一个字段select出来放入变量中,再insert到第二个表中。如果字段一多那就苦了。
grt 2005-06-23
  • 打赏
  • 举报
回复
不能相等,否则区分不了dw_1,dw_2了,我试了,不行,乱了
MINDNET 2005-06-23
  • 打赏
  • 举报
回复
楼主把dw_2的dataobject设成与dw_1的dataobject相等的试试看把
grt 2005-06-23
  • 打赏
  • 举报
回复
排序也一样,光标顺序也一样
grt 2005-06-23
  • 打赏
  • 举报
回复
getrow()绝对大于0
加载更多回复(3)

610

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧