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

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()
...全文
92 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
这些在“刷新”按钮里的吗?如果是那应该没问题

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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