为什么要按两遍才能刷新数据? (在线给分)

galiton 2003-05-11 01:24:22
PB6.5开发.数据库ACCESS 2000. 用ODBC连接.

问题是: 第一次执行事件的时候数据窗口总是没有办法刷新,
等第二次执行同一事件的时候数据窗口会显示上一次插入的数据?





代码如下:

insert into inout (item,docdate,detail,moneyin,moneyout,moneylast,beizhu)
values (:newitem,:ls_docdate,:ls_detail,0,:ls_moneyout,:ls_moneylast,:ls_beizhu) USING SQLCA;

If SQLCA.SQLDBCode=0 Then
COMMIT using sqlca;//提交事务
else
MessageBox("数据库错误","插入失败")
ROLLBACK USING SQLCA;//事务回滚
Return
End If
w_main.dw_1.SetTransObject(SQLCA)
w_main.dw_1.Retrieve()
...全文
16 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tjm1 2003-05-11
http://www.fatac.com/v1/pbtp02/pbtp200202.htm
看看!
回复
galiton 2003-05-11
刚才把菜单里面的RETRIEVE 里面的 rows as needed 改成 rows to disk 就好了,请问有什么区别啊?
回复
tjm1 2003-05-11
搞不清楚,更改一下数据窗口的update属性看看。
回复
888888888888 2003-05-11
关注
回复
galiton 2003-05-11
回楼上: 写过了.
回复
tjm1 2003-05-11
dw_1.settransobject(sqlca)没在窗口的open事件里??
回复
galiton 2003-05-11
单机版的,代码写在"插入"按钮里面.
回复
fengzeng 2003-05-11
我以前遇到过这种问题,但就是想不起来怎么解决的,试试将插入和刷新操作在不同事件或按钮中执行!
回复
tjm1 2003-05-11
是在按钮里的代码吗?
还有,单机版的话无所谓,如果客户端很多的话,messagebox不要写在rollback的前面,
容易发生死锁,

If SQLCA.SQLDBCode=0 Then
COMMIT using sqlca;//提交事务
else
ROLLBACK USING SQLCA;//事务回滚
MessageBox("数据库错误","插入失败")
Return
end if
回复
xirumin 2003-05-11
这些在“刷新”按钮里的吗?如果是那应该没问题
回复
相关推荐
发帖
PowerBuilder
创建于2007-09-28

866

社区成员

PowerBuilder 相关问题讨论
申请成为版主
帖子事件
创建了帖子
2003-05-11 01:24
社区公告
暂无公告