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)
请大家帮忙给出明确的代码,谢谢。
...全文
75 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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;
相关推荐
发帖
DataWindow

603

社区成员

PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
帖子事件
创建了帖子
2004-10-17 06:53
社区公告
暂无公告