`
yan_sa
  • 浏览: 5553 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

PreparedStatement查询结果错误

    博客分类:
  • jdbc
 
阅读更多

在使用PreparedStatement对Oracle数据库进行查询时,出现了错误的结果。


关键sql语句如下where t.stateID  ? stateid 为char(2)类型字段,调用 pstmt.setString(1, "1");

发现stateid为1的数据仍可查出,相关sql在数据库中执行查询却返回了正确的结果。


问题原因:Oracle char字段是定长的,此处必须传入2个字符,如过使用[size=12px; line-height: 1.5;]setString可以考虑加入一个空格[/size]

应改为:

pstmt.setString(1, "1 ");//加入空格



pstmt.setInt(1, 1);

 

分享到:
评论

相关推荐

    如何防止SQL注入.pdf

    通过使用预编译语句(例如,在Java中使用PreparedStatement),可以确保用户输入被当作参数处理,而不是SQL语句的一部分。 2. 检验和清洗用户输入 对用户输入进行验证,确保它符合预期的格式。例如,如果你期待一个...

    Java数据库编程宝典2

    8.1 使用ORDER BY对查询结果进行排序 8.2 GROUP BY子句 8.3 聚合函数 8.4 使用HAVING子句筛选组 8.5 使用索引来提高SQL查询的性能 8.6 视图 8.7 小结 第9章 连接和组合查询 9.1 连接表 9.1.1 连接的类型...

    Java数据库编程宝典4

    8.1 使用ORDER BY对查询结果进行排序 8.2 GROUP BY子句 8.3 聚合函数 8.4 使用HAVING子句筛选组 8.5 使用索引来提高SQL查询的性能 8.6 视图 8.7 小结 第9章 连接和组合查询 9.1 连接表 9.1.1 连接的类型...

    Java数据库编程宝典1

    8.1 使用ORDER BY对查询结果进行排序 8.2 GROUP BY子句 8.3 聚合函数 8.4 使用HAVING子句筛选组 8.5 使用索引来提高SQL查询的性能 8.6 视图 8.7 小结 第9章 连接和组合查询 9.1 连接表 9.1.1 连接的类型...

    Java数据库编程宝典3

    8.1 使用ORDER BY对查询结果进行排序 8.2 GROUP BY子句 8.3 聚合函数 8.4 使用HAVING子句筛选组 8.5 使用索引来提高SQL查询的性能 8.6 视图 8.7 小结 第9章 连接和组合查询 9.1 连接表 9.1.1 连接的类型...

    JDBCtemplate封装类的jar包.zip

    ​ JDBC已经能够满足大部分用户最基本的需求,但是在使用JDBC时,必须自己来管理数据库资源如:获取PreparedStatement,设置SQL语句参数,关闭连接等步骤。 ​ JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加...

    简单学生信息管理系统java课程设计.doc

    本程序可以实现对学生信息的添加、查询、修改 、删除等操作,同时支持查看所有学生信息,功能完善,界面简洁美观,布局合理,操 作简便,简单易用,任何人可轻松操作。 同时,本程序对系统要求配置较低,运行速度快...

    bbs系统可留言

    throw new Exception("错误提示:请检查SQL语法是否有误,"+ex.getMessage()); } return rs; } // oder by f1 asc,f2 dsc public ResultSet executeQuery(String sql,Object[] param,LinkedHashMap order) ...

    JdbcTemplate基本使用

    DBC已经能够满足大部分用户最基本的需求,但是在使用JDBC时,必须自己来管理数据库资源如:获取PreparedStatement,设置SQL语句参数,关闭连接等步骤。 JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加易于使用...

    数据库工具类DatabaseUtil.java

    * 可滚动的 Statement 不能执行 SELECT MAX(ID) 之类的查询语句(SQLServer 2000) * * @param sql * 需要执行的 SQL * @return 记录总数 */ public int getAllCount(String sql) { try { Statement ...

    java经典面试2010集锦100题(不看你后悔)

    A) 程序运行到第6行会出现编译错误,因为c为char类型,不能把一个汉字赋给一个字符型。 B) 程序运行到第7行会出现编译错误,因为字符型与整型不能进行加法运算。 C) 程序能够正常编译和运行,但是不会输出任何结果。...

    java面试800题

    Q0059 找出weblogic-ejb-jar.xml文件中的错误。 "正确的文档 <!DOCTYPE weblogic-ejb-jar PUBLIC ""-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN"" "...

    springmybatis

    现在运行这个程序,是不是得到查询结果了。恭喜你,环境搭建配置成功,接下来第二章,将讲述基于接口的操作方式,增删改查。 整个工程目录结构如下: 除非申明,文章均为一号门原创,转载请注明本文地址,谢谢! ...

    JavaFX_SqliteDB:与SQLite数据库集成

    JavaFX_SqliteDB 与SQLite数据库集成 ...SQL查询:preparedstatement 枚举 XML文件 下载正在运行的应用程序的副本: 影片示范 笔记 该应用程序是从Java 10构建的。当当前安装的Java是早期版本时,会发生JNI错误。

    java面试题

    游标是对查询出来的结果集作为一个单元来有效的处理,可以对结果集的当前行做修改。 select执行顺序? 答:from where group by having select order by Collection和Collections的区别? 答:Collection是集合...

    Java语言基础下载

    预编译语句(PreparedStatement) 340 使用事务 341 事务的级别控制 343 使用存储过程 345 操作元数据 347 ResultSetMetaData(结果集元数据) 349 可滚动的和可更新的结果集 350 批处理更新 354 二进制大对象BLOB ...

    java面试题大全--java基础,struts,spring,ejb等

    9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。 10.找出下列代码可能存在的错误,并说明原因: 二、JSP&Servlet技术 1.描述JSP和Servlet的区别、共同点、各自应用的范围 2.在Web开发中需要...

    java基础案例与开发详解案例源码全

    18.2.3 PreparedStatement接口467 18.2.4 ResultSet接口467 18.3 JDBC操作SQL469 18.4 JDBC基本示例473 18.5 JDBC应用示例479 18.6 本章习题492 第19章 19.1 网络编程的基本概念494 19.1.1 网络基础知识494 19.1.2 ...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    7.4.4 预编译执行SQL语句的PreparedStatement接口 7.4.5 结果集ResultSet接1:2 7.5 JDBC操作数据库 7.5.1 向数据库中插入数据 7.5.2 从数据库中查询所需数据 75.3 修改数据库中的数据 7.5.4 删除无用的数据 7.5.5 ...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    10.4.1 多态——运行方知结果 280 10.4.2 重载也不简单 280 10.4.3 使用多态构建车队 283 10.5 在多态的环境中拨开迷雾 284 10.5.1 神秘的Class类 284 10.5.2 覆盖不再神秘 285 10.5.3 instanceof运算符——让...

Global site tag (gtag.js) - Google Analytics