PB中按动态的SELECT语句取出数据,并组织成insert into XX values ( 'a', 1...)形式。(在线,急)

penghwa 2004-11-25 03:07:43
每次传入的查询语句不同,取出的结果只是简单的数据类型(int, char, varchar, numeric)等,
将每条记录转换成insert into语句。
...全文
407 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun1976 2004-11-30
  • 打赏
  • 举报
回复
balloonman2002() 就是高手,几个月没见都双星了,恭喜
sun1976 2004-11-30
  • 打赏
  • 举报
回复
有高手,根本不用拼sql,数据窗口灵活使用可以很简单的实现这个功能
但是讨厌你的态度。懒得告诉你
你也不用替别人问了,就你这两下子说了你也不懂
还是让用pb的自己来问吧
penghwa 2004-11-29
  • 打赏
  • 举报
回复
没高手!
yl_yz 2004-11-27
  • 打赏
  • 举报
回复
那你根据传入的select进行判断组成对应的insert语句字符串再
execute immediate ...不就可以了
balloonman2002 2004-11-26
  • 打赏
  • 举报
回复
没听懂,你举个例子吧,,,
penghwa 2004-11-26
  • 打赏
  • 举报
回复
没高手吗???!!!
penghwa 2004-11-26
  • 打赏
  • 举报
回复
应该说清楚了吧。
不想通过取数据字典的方式来实现,因为其他的语言中,在取数据的时候就已经有表的定义了。
PB一天都没用过的,帮别人问的
balloonman2002 2004-11-26
  • 打赏
  • 举报
回复
建议datastore + 动态sql
penghwa 2004-11-26
  • 打赏
  • 举报
回复

表t1 有数据 ('custom1', 123.0, 20040101 ) ;
表t2 有数据 ('t2', 'abcd', 12345, 20041111);
传入 select * from t1 则组织成insert语句为 insert into t1 values ( 'custom1', 123.0, 20040101).
传入select * from t2 则组织成insert语句为 insert into t2 values ('t2', 'abcd', 12345, 20041111);
WorldMobile 2004-11-25
  • 打赏
  • 举报
回复
取数据类型肯定没问题的,拼成你说的insert语句也是没问题的

可能你没做过,你也表达的不太清楚

有没有QQ号,和你聊聊
mittee 2004-11-25
  • 打赏
  • 举报
回复
通过数据库的
数据字典可以取得字段的类型。
xys2003 2004-11-25
  • 打赏
  • 举报
回复
当然可以了,将数据库的列和DATAWINDOW的列联合使用不久行了,很简单的
balloonman2002 2004-11-25
  • 打赏
  • 举报
回复
建议用datawindow或datastore做
penghwa 2004-11-25
  • 打赏
  • 举报
回复
不行的!
表,列数,数据类型都是未知的。我对PB不熟悉,其他语言的resultset是可以获取这些表结构信息的。
要给出具体实例代码的
dxyyj 2004-11-25
  • 打赏
  • 举报
回复
同意楼上
ls_sql="insert into #temp3 select * from #temp4 "
execute immediate :ls_sql using sqlca;
if sqlca.sqlcode<0 then

hpb_1.visible=false
rollback using sqlca;
messagebox("","处理失败!"+ls_sql+sqlca.sqlerrtext)
return
end if
青锋-SS 2004-11-25
  • 打赏
  • 举报
回复
拼成一个字符串,用execute immediate执行.

609

社区成员

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

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