如何按下按钮,就更新数据

ctf3211712 2012-06-17 12:33:33
本人初学PB,有一个题集的问题问各位大侠。有一张会员代码表,根据会员的消费记录,把一年内消费在200元以上1000元以下的享受折扣90折的会员卡,免费续卡一年,把累计消费数据清零,修改备注中增加字符数据“续卡”。这个功能希望通过按钮的click时间实现。我只学了通过数据窗口查询数据,不知道如何这样批量修改数据,请各位大侠帮帮忙啊!!
...全文
97 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ctf3211712 2012-06-18
  • 打赏
  • 举报
回复
非常感谢 通过了
xufxuf 2012-06-17
  • 打赏
  • 举报
回复
日期加1年的函数不熟悉,你互联网上查查.应该不是你写的那种+365天。加号只能用户数值型的。
xufxuf 2012-06-17
  • 打赏
  • 举报
回复
oracle 的PLSQL字符串拼接用竖线 ||
mayacosa 2012-06-17
  • 打赏
  • 举报
回复
update jcdms_hydmb t
set t.xgbz=t.xgbz || '续卡',t.ljxse = 0 ,t.yxzzrq=t.yxzzrq + 365
where ljxse>200 and ljxse<=1000
and xszk=90
using sqlca;
ctf3211712 2012-06-17
  • 打赏
  • 举报
回复
string ls_err

update jcdms_hydmb t
set t.xgbz=xgbz + '续卡',t.ljxse = 0 ,t.yxzzrq=t.yxzzrq + 365
where ljxse>200 and ljxse<=1000
and xszk=90
using sqlca;

if sqlca.sqlcode=0 then //成功
commit using sqlca;
else
ls_err=sqlca.sqlerrtext
rollback using sqlca;
messagebox('更新失败',ls_err)
end if
我用的是ORACLE数据库,运行时报错ora-01722invalid number
xufxuf 2012-06-17
  • 打赏
  • 举报
回复
直接在按钮的clicked!事件里写嵌入式的SQL:

string ls_err

update 会员表
set 备注="续卡",累计消费数据=0,截止期=[原来截止期 + 1年]
where 年内消费金额>200 and 年内消费金额<=1000
and 折扣=0.9
using sqlca;

if sqlca.sqlcode=0 then //成功
commit using sqlca;
else
ls_err=sqlca.sqlerrtext
rollback using sqlca;
messagebox('更新失败',ls_err)
end if
以上只是一个示意。不同的数据库,sql写法有所不同。
还有,就是如果是两表关联后的UPDATE,写法也不尽相同。

1,077

社区成员

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

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