pb如何对DBF的表进行操作(如何用变量传递值)

wxjabc614 2004-10-17 06:53:47
赋值:A=17,B=33
HH,YY为字段名
当使用INSERT语句时,
INSERT INTO TABLE1(HH,YY)
VALUE (:A,:B);
不能成功,而使用
INSERT INTO TABLE1(HH,YY)
VALUE (17,33);可成功

请教各位大侠:1、如何用变量传递数值?
2、当删除一条记录后,如何更新?(PACK)
请大家帮忙给出明确的代码,谢谢。
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yl_yz 2004-10-18
  • 打赏
  • 举报
回复
1、INSERT INTO TABLE1(HH,YY) VALUE (:A,:B);
你用动态sql执行看看。
2、删除后
ls_sql = "pack TABLE1;"
EXECUTE IMMEDIATE :ls_sql using sqlca;

kookboy 2004-10-18
  • 打赏
  • 举报
回复
赋值:A=17,B=33
HH,YY为字段名
当使用INSERT语句时,
INSERT INTO TABLE1(HH,YY)
VALUE (:A,:B);
不能成功,而使用
INSERT INTO TABLE1(HH,YY)
VALUE (17,33);可成功
按你说的应该没问题才对,你试试用
String ls_errtext ;long ll_dbcode
IF sqlca.SQLCode = -1 THEN
ll_dbcode = sqlca.SQLDBCode
ls_errtext = sqlca.SQLErrText
ROLLBACK ;
message(string(ll_dbcode),ls_errtext)
RETURN -1
END IF
把错误信息帖出来看看
zhengshouquan 2004-10-18
  • 打赏
  • 举报
回复
1、INSERT INTO TABLE1(HH,YY)
VALUE (:A,:B);
if sqlca.sqlcode = 0 then
commit ;
else
rollback;

end if
我觉得你写的语句应该没有错误。
2、delete from tabled1 where hh=:A and yy = :B ;
if sqlca.sqlcode = 0 then
commit ;
else
rollback;

end if

fmwind 2004-10-17
  • 打赏
  • 举报
回复
首先是要定义好变量!然后变量赋值!最后调用就可以了

删除后成功要记得commit;

608

社区成员

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

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