CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

java+oracle 无法执行select语句

楼主leonardoxie(采采仔)2004-09-03 23:24:32 在 Java / J2SE / 基础类 提问

表A_TABLE  
  里有两列a_char             CHAR(20)  
                  a_number       NUMBER  
   
       
    String   sql   =   "SELECT   *   FROM   A_TABLE   WHERE   a_number=?";  
          try  
  {  
          PreparedStatement   pstmt   =   conn.prepareStatement(sql);  
         
                  pstmt.setShort   (1,   1);  
  ......  
   
  运行正常,可以取出所有的行  
   
  但是  
    String   sql   =   "SELECT   *   FROM   A_TABLE   WHERE   a_char=?";  
          try  
  {  
          PreparedStatement   pstmt   =   conn.prepareStatement(sql);  
         
                  pstmt.setString   (1,   "001");  
   
                  ResultSet   rSet   =   pstmt.executeQuery();  
        ....  
  无法取得任何一行,为什么啊? 问题点数:100、回复次数:9Top

1 楼leonardoxie(采采仔)回复于 2004-09-03 23:29:24 得分 0

jdk1.4.2+oracle10gTop

2 楼leonardoxie(采采仔)回复于 2004-09-03 23:30:48 得分 0

数据库里的数据没有问题,用的jdbcTop

3 楼guestman(天涯浪子)回复于 2004-09-03 23:33:34 得分 25

数据库中定义成:  
  a_char       VARCHAR2(20)Top

4 楼himacs(★★★★★)回复于 2004-09-04 01:06:24 得分 25

char会以空格填满20,001的长度只有3,所以不相等  
  估计是这样,你可以尝试一下Top

5 楼delphi2java(delphi2java)回复于 2004-09-04 01:47:51 得分 0

Oracle能返回数据集?!Top

6 楼shine333(enihs)回复于 2004-09-04 02:23:57 得分 25

char自动补空格的Top

7 楼cuizm(射天狼 http://www.j2soft.cn/)回复于 2004-09-04 08:48:39 得分 25

建议到查询分析器中执行一下,看是什么原因~~~~~~Top

8 楼Tasia(灯盏)回复于 2004-09-04 09:29:47 得分 0

执行pstmt.setShort   (1,   1);后,sql语句变成这样:  
  SELECT   *   FROM   A_TABLE   WHERE   a_char=1;  
    执行pstmt.setString   (1,   "001");后,sql是这样:  
  SELECT   *   FROM   A_TABLE   WHERE   a_char='001';  
   
  你就可以看出它们的不同了。如果a_char是数字类型的,第一种方法OK。第二种显然找不到匹配的数据了。  
  Top

9 楼Tasia(灯盏)回复于 2004-09-04 09:31:03 得分 0

不好意思。没看清题目。。  
  说了废话。Top

相关问题

  • 如何动态执行java语句,急!!!!!!!
  • ORACLE中,程序中如何一次执行多句SQL语句?
  • 如何在oracle存储过程中执行动态sql语句???
  • 在oracle中怎么查看刚执行的语句???
  • 在脚本中如何执行SQL语句?(连接oracle库)
  • Delphi执行Oracle语句,急!在线等待!BDE+ORACLE8
  • adoquery执行sql语句的限制问题?(oracle)
  • 我想定时让 oracle 执行一段sql语句 怎么做?
  • Oracle client Thin Driver可以执行create database mydb ...语句吗?
  • oracle中怎样同时执行多条SQL语句

关键词

  • 执行
  • sql
  • pstmt
  • table where
  • number
  • char
  • select

得分解答快速导航

  • 帖主:leonardoxie
  • guestman
  • himacs
  • shine333
  • cuizm

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo