重新请教

gotolwd 2003-12-15 09:32:40
我的两个表,a 和 b 大部分字段相同,只是b比a多两个字段
我需要把a的行复制到b,然后再在b不同的两个字段填入值
应该怎么做呢,我用rowscopy没有做出来。各位大侠给个好
想法
...全文
16 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gotolwd 2003-12-16
  • 打赏
  • 举报
回复
hehe,佩服大白鲨,确实是万无一失,
liliang800207 2003-12-15
  • 打赏
  • 举报
回复
做三个数据窗口
第一个数据窗口以B全部字段为数据源
一个以a为数剧源,一个以B的出后两列为数据源,两个数据窗口列的顺序及字段属性一定保持一致,A.RETRIEVE()后, ROWCOPY倒B 中,然后COMMIT

更改一个数据窗口的对象为第一个数据窗口对象
在检索
此时在用setitem()进行设置即可

eminena 2003-12-15
  • 打赏
  • 举报
回复
肯定是表 B 中的另几个字段设置为不能为空,如是字符型字段,(根据字段类型的,赋相应的值)可

INSERT INTO b SELECT * , ' ' ,' ' FROM a; //有几个字段就添加几个空格,数据型可写0
commit;
lmby 2003-12-15
  • 打赏
  • 举报
回复
当然不对了。
如果表a(col1, col2, col3)
表b(col1,col2,col3,col4,col5)

insert into b(col1,col2,col3)
select * from a;
gotolwd 2003-12-15
  • 打赏
  • 举报
回复
to 俄罗斯方块
不好使啊,总是出 插入错误:列名或所提供值的数目与表定义不匹配。
我的两个表的前面都是一样的,不同的字段在b的最后面
eminena 2003-12-15
  • 打赏
  • 举报
回复
1、将表 a 的数据插入到 b 中:
INSERT INTO b SELECT * FROM a;
commit;

2、再在数据窗口中编辑表 b
xiao_bai 2003-12-15
  • 打赏
  • 举报
回复
comttee的方法没错,会不会很慢呢?
mittee 2003-12-15
  • 打赏
  • 举报
回复
有一个万无一失的方法
for ll_i = 1 to dw_1.rowcount()
dw_2.object.id[ll_i] = dw_1.object.id[ll_i}
.........................................
//我不信这样还会出错

next

609

社区成员

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

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