pb环境,同样的sql在ms sql server执行正常但是在oracle中无数据,为何?谢谢帮助

booksfount 2003-06-11 12:55:42
在pb环境下,嵌入式的角本
select u_name into :ls_find from u_files
where u_name =:ls_name and u_pass =:ls_pass;
在ms sql server能够返回结果,已经确保了ls_name,ls_pass都有数据,并且有满足条件的一条纪录,但是放到oracle环境下,就是没有任何数据,满足条件的记录数为0

然后改写脚本,把ls_name 和ls_pass的数据全部用实际字符串代替就可查到

select u_name into :ls_find from u_files
where u_name ='ccc' and u_pass ='111';
这样写,就可以查询到了,不知是什么原因,在查询之间,也观察了ls_name,ls_pass的数据,就是'ccc'和'111'

到底是什么原因呢????谢谢各位帮忙

...全文
39 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
booksfount 2003-06-12
  • 打赏
  • 举报
回复
问题还是无法解决,我结贴吧
booksfount 2003-06-11
  • 打赏
  • 举报
回复
会不会与字符集有关系呢??

pb代码看了n遍了,真不知道还有哪里有毛病
booksfount 2003-06-11
  • 打赏
  • 举报
回复
代码的sqlca.sqlcode=100
sqlerrtext为空

没有错误呀,可为什么替换成实际的数据就能够select到呢??????
真奇了怪了,我再检查一下程序,太奇怪????
qiyousyc 2003-06-11
  • 打赏
  • 举报
回复
这段代码没问题,其他问题,看sqlca.sqlcode与sqlca.sqlerrtext的提示
bzszp 2003-06-11
  • 打赏
  • 举报
回复
加上messagebox看看
messagebox("",ls_find+"&&&pass:"+ls_pass)
估计是参数不对
select u_name into :ls_find from u_files
where u_name =:ls_name and u_pass =:ls_pass;
shuipipi 2003-06-11
  • 打赏
  • 举报
回复
泥可以跟踪一下在PB里泥的脚本,看看SQL语句到底是什么,然后把那句SQL拿到SQLPLUS里面执行一下看是否有满足条件的数据~

估计,还是PB程序的问题;不可能是数据库的原因!
bzszp 2003-06-11
  • 打赏
  • 举报
回复
我刚试了一下
没问题

ls_str = 'A_11'
select count(*) into :li_num from a
where A_NAME = :ls_str using sqlca_sps;
messagebox("",li_num)

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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