请问这句普通的sql语句放在程序段中为什么执行不正常?谢谢!

swjia8315 2008-03-12 09:12:45
select max(dwg_id) into :li_dwg_max from drawing using sqlca;
这句话放在PB程序中,经过跟踪这个变量li_dwg_max值为0


但是我把select max(dwg_id) from drawing ;直接写在oracle的pl/sql查询中,得出了正确的值,请问什么原因,谢谢
...全文
71 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
swjia8315 2008-03-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 rambo_china 的回复:]

一定要确认你连接的数据库参数没有问题才行,然后再去进一步测试

以前碰到一些这样的问题,基本都是数据库连错了造成的

如果max(dwg_id)值很大,将li_dwg_max变量改成long型的变量ll_dwg_max
[/Quote]

恩,果然是应该用long类型,我的是6位数
swjia8315 2008-03-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 skyzcl 的回复:]
select max(dwg_id) from drawing 在查询分析器里执行有结果么?
[/Quote]

有的,结果正确
skyzcl 2008-03-12
  • 打赏
  • 举报
回复
select max(dwg_id) from drawing 在查询分析器里执行有结果么?
add851112 2008-03-12
  • 打赏
  • 举报
回复
语法正确 在仔细检查下了。
jlwei888 2008-03-12
  • 打赏
  • 举报
回复
select max(dwg_id) into :li_dwg_max from drawing using sqlca;

messagebox('',string(sqlca.sqlcode))
看看sqlcode是多少吧!可能没成功!
dongyakj 2008-03-12
  • 打赏
  • 举报
回复
主要是看看变量的数据类型。
rambo_china 2008-03-12
  • 打赏
  • 举报
回复

一定要确认你连接的数据库参数没有问题才行,然后再去进一步测试

以前碰到一些这样的问题,基本都是数据库连错了造成的

如果max(dwg_id)值很大,将li_dwg_max变量改成long型的变量ll_dwg_max
SKY_4K_PPM 2008-03-12
  • 打赏
  • 举报
回复
SQLCA 提交没成功?LI_DWG_MAX 是初值 0
语法没错误,可能是事务提交被中断了吧,检查下你的DBMS连接

1,075

社区成员

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

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