怎么设置datawindow的值

huxiaodong 2010-06-08 04:12:22
我建了一个临时表,取出来一些数据后要在datawindow中显示,但是这时怎么要怎么做啊!求救……
...全文
120 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengg0769 2010-07-01
  • 打赏
  • 举报
回复
临时表最好就在存储器内部用。dw用存储器的结果作为数据源。按你的描述就是这样一个过程。

临时表的生命期好像是会话。

很多方法都能达到你的要求。不过楼下的思路有些在跟着你的错误思路走而已。为了把汽车开上天而去改造汽车为什么不直接用飞机呢。



wahaha234 2010-06-24
  • 打赏
  • 举报
回复
你可以先建立一个dw,dw的字段跟你的临时表的字段一致,在程序运行过程中,一旦临时表有数据就把他对应设置到刚建立的那个dw上,要用的时候采用4楼的方法来使用。
new4everlau 2010-06-09
  • 打赏
  • 举报
回复
设置一个存储过程吧,存储过程中处理临时表,然后创建数据窗口,数据窗口是数据源选择procedure,然后选择上面建立的存储过程就可以了
wag_enu 2010-06-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 huxiaodong 的回复:]
引用 1 楼 xuam 的回复:

dw_1.settransobject(sqlca)
dw_1.retrieve()

如何将dw_1的数据设置为我建的临时表#temp啊?
[/Quote]

先建一个和临时表相同结构的表. 再用该表建相关的DW对象.并保存该DW对象.
再编辑该DW 对象的源码,把SQL 语句段的相关的表名称改成临时表名.

还有一种方法是用存储过程.

不管用什么方法, 在程序要调用该DW 前,都要在程序里建该临时表,否则报错.

gui41021 2010-06-08
  • 打赏
  • 举报
回复
这个行么 动态建立datastore as_table传你临时表表名
datastore lds_i,lds_i_1
lds_i = CREATE datastore
lds_i_1 = CREATE datastore
ls_sql = "select "+as_keycolumn+","+as_valuecolumn+" from "+as_table+" where "+as_upkeycolumn+"='"+as_upkeyvalue+"'" + " order by " + as_keycolumn
ls_syntax = sqlca.SyntaxFromSQL(ls_sql,'style(type=grid)',ls_error)
IF Len(ls_error) > 0 THEN
RETURN 0
ELSE
ls_error = ''
lds_i.Create(ls_syntax,ls_error)
IF Len(ls_error) > 0 THEN
RETURN 0
END IF
lds_i.SetTransObject(sqlca)
lds_i.Retrieve()
int j
j = lds_i.RowCount( )
END IF

然后循环j getitemstring as_keycolumn就行了
xuam 2010-06-08
  • 打赏
  • 举报
回复
或者将临时表的数据通过一个存储过程查出来, 然后DW的数据源用这个存储过程就行了!
[Quote=引用 6 楼 huxiaodong 的回复:]
引用 3 楼 pcwe2002 的回复:

建立一个DataWindow取临时表数据,然后显示

就是不会这步,望详细指教!
[/Quote]
huxiaodong 2010-06-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 gui41021 的回复:]

file-> new -> datawindow -> Grid -> OK ->next -> 选表 ->选字段 ->next -> .....保存为d_1

主窗口->insert->control->datawindow 属性 DataObject 选上面保存的d_1

主窗口open加
dw_1.settransobject(sqlca)
dw_1.retrieve()

……
[/Quote]
主要我的表是不存在的,是在程序运行中创建的临时表
xuam 2010-06-08
  • 打赏
  • 举报
回复
呵呵,楼主的意思是DW取不到数据源!因为数据源是临时表!

[Quote=引用 4 楼 gui41021 的回复:]
file-> new -> datawindow -> Grid -> OK ->next -> 选表 ->选字段 ->next -> .....保存为d_1

主窗口->insert->control->datawindow 属性 DataObject 选上面保存的d_1

主窗口open加
dw_1.settransobject(sqlca)
dw_1.retrieve()

……
[/Quote]
huxiaodong 2010-06-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 pcwe2002 的回复:]

建立一个DataWindow取临时表数据,然后显示
[/Quote]
就是不会这步,望详细指教!
xuam 2010-06-08
  • 打赏
  • 举报
回复
设一个全局的临时表吧!

[Quote=引用 2 楼 huxiaodong 的回复:]
引用 1 楼 xuam 的回复:

dw_1.settransobject(sqlca)
dw_1.retrieve()

如何将dw_1的数据设置为我建的临时表#temp啊?
[/Quote]
gui41021 2010-06-08
  • 打赏
  • 举报
回复
file-> new -> datawindow -> Grid -> OK ->next -> 选表 ->选字段 ->next -> .....保存为d_1

主窗口->insert->control->datawindow 属性 DataObject 选上面保存的d_1

主窗口open加
dw_1.settransobject(sqlca)
dw_1.retrieve()

就出来了,前提是连上库了。。
pcwe2002 2010-06-08
  • 打赏
  • 举报
回复
建立一个DataWindow取临时表数据,然后显示
huxiaodong 2010-06-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xuam 的回复:]

dw_1.settransobject(sqlca)
dw_1.retrieve()
[/Quote]
如何将dw_1的数据设置为我建的临时表#temp啊?
xuam 2010-06-08
  • 打赏
  • 举报
回复
dw_1.settransobject(sqlca)
dw_1.retrieve()

609

社区成员

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

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