• 全部
  • Oracle 基础和管理
  • Oracle 高级技术
  • Oracle 认证与考试
  • 职位交流
  • 问答

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'

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

...全文
13 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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)
回复
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2003-06-11 12:55
社区公告
暂无公告