为什么sql语句无法执行?

eastsuper 2003-05-27 09:14:34
pb8.0,win98,数据源是odbc的dbf文件,现在在程序中执行sql语句,insert能够执行,delete和update执行后说执行成功,但实际数据没被修改,读sqlcode又对,为什么会这样?(我是autocommit的)
...全文
233 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
eastsuper 2003-05-31
  • 打赏
  • 举报
回复
会不会是哪个设置有问题?
standlyduke 2003-05-31
  • 打赏
  • 举报
回复
PB对于一些数据库接口不是兼容得很好,所以你需要自已做一个外部的数据接口(可以用VC做),这样就能解决问题了,还有你的ROW属性设置得不对选择的功能一定不全
tchatcha 2003-05-31
  • 打赏
  • 举报
回复
不是没有执行,而是打了标记
tchatcha 2003-05-31
  • 打赏
  • 举报
回复
String ls_mysql,ls_dd
ls_mysql = "delete From ddd;"
sqlca.autocommit=true
EXECUTE IMMEDIATE :ls_Mysql using sqlca;
ls_dd = "pack ddd.dbf;"
EXECUTE IMMEDIATE :ls_dd using sqlca;
sqlca.autocommit=false
ysjxjf 2003-05-31
  • 打赏
  • 举报
回复
是不是驅動程序有問題﹗
eastsuper 2003-05-31
  • 打赏
  • 举报
回复
前几天机器中毒了,没来。
在isql里测了一下,在执行delete时,出现错误“sqlstate=s1000 [MICROSOFT][ODBC dbase驱动程序]无法从指定的数据表中删除”。在执行update时,出现错误“sqlstate=s1000 [MICROSOFT][ODBC dbase驱动程序]操作必须使用一个可更新的查询”。使用insert就没问题,请问一下怎么解决?
joss 2003-05-27
  • 打赏
  • 举报
回复
1、autocommit=false后每次提交事务前判断SQLCODE是否成功,再COMMIT;
2、把你的SQL语句放在ISQL中测试,是否通过!
3、转为数据窗口操作试试!
5558 2003-05-27
  • 打赏
  • 举报
回复
delete from jbzl;
disconnect;
connect using sqlca;
execute immediate "pack jbzl";
愉快的登山者 2003-05-27
  • 打赏
  • 举报
回复
检查连接用户的数据库访问权限!
eastsuper 2003-05-27
  • 打赏
  • 举报
回复
就普通的一句
delete from jbzl
无法执行
但insert就执行的很好,是不是与数据源的连接方面有问题
xavier_lee 2003-05-27
  • 打赏
  • 举报
回复
MAY BE "DBF" PROBLEM
homeness 2003-05-27
  • 打赏
  • 举报
回复
autocommit=false
建议最好还是不要用autocommit=true
boyliulang 2003-05-27
  • 打赏
  • 举报
回复
贴出代码

752

社区成员

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

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