`
longgangbai
  • 浏览: 7308246 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SQL java.sql.SQLException: 索引中丢失 IN 或 OUT 参数::原因

阅读更多

像这样的错误我想大家可能是长有的错误希望大家都能掌握

这样的错误是由于我们在开发时不小心出的错 

 

java.sql.SQLException: 索引中丢失 IN OUT 参数:: 2

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)

    at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:1681)

    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3280)

    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)

    at com.spring.services.UserBusiness.loginAction(UserBusiness.java:58)

    at com.spring.services.UserBusiness.main(UserBusiness.java:27)

 

出现原因为:参数不匹配,参数个数有问题,参数 sql有问题

 

这个错误有很多人在发送语句时出的错.如:

  有的sql语句可能全角与半角出现的:java.sql.SQLException无效的列索引,

StringBuilder sql = new StringBuilder()
   .append("
select * from emp where uname=? and upass=? and state=? and a=?");

 

参数据过多等 

而我今天在开发一个Struts项目时出的是Oracle的一个错误如下:

StringBuilder sql = new StringBuilder()
   .append("select * from emp where uname=? and upass=?");
   //2.PreparedStatement对象指令
   ps = conn.prepareStatement(sql.toString());   
   //3.设置参数   
   ps.setObject(1, dto.get("uname").toString());
   ps.setObject(1, dto.get("upass").toString());   
   //4.执行判断   
   rs = ps.executeQuery();

这是由于一不小心就出错的这里只是设置参数的时候参数位置出了错

像这样的错误如果我们知道的话就可以在一堆代码中很快就能找到对吧

 

 

最终发现参数不匹配的原因:总结一下以备以后遇到同样的异常问题!!

 

 

 

分享到:
评论

相关推荐

    Caused by: java.sql.SQLException: JZ0SJ: 没有在此数据库中发现元数据存取器信息。 请按 jConnect 文档中所述安装

    标题中的“Caused by: java.sql.SQLException: JZ0SJ: 没有在此数据库中发现元数据存取器信息。 请按 jConnect 文档中所述安装”是一个典型的错误信息,表明在尝试使用Java数据库连接(JDBC)驱动程序访问数据库时...

    JAVA常见异常解析,面试用

    - **java.sql.SQLException**:处理数据库操作时,当发生错误或异常情况时抛出。 - **java.io.IOException**:表示输入/输出操作失败或中断时抛出。 - **java.lang.NoSuchMethodException**:当试图调用不存在的方法...

    java常见异常.pdf

    10. **java.sql.SQLException**: 当与数据库交互时发生错误,如SQL查询失败或连接问题,会抛出此异常。使用try-catch语句来处理数据库操作。 11. **java.lang.NoSuchMethodException**: 当试图调用一个不存在的方法...

    ora常用sql.rar

    在Oracle数据库管理中,SQL(Structured Query Language)是不可或缺的工具,用于数据查询、操作、定义和控制。"ora常用sql.rar"这个压缩包显然包含了DBA(Database Administrator,数据库管理员)在日常工作中经常...

    常见的java异常

    Java异常处理是编程过程中不可或缺的一部分,它帮助开发者识别和修复程序中的错误。Java异常是程序运行时遇到的不正常情况,通常会导致程序中断。以下是一些常见的Java异常及其详细解释: 1. **java.lang....

    java异常分析及解决办法

    10. **java.sql.SQLException**: 当与数据库交互时出现错误,例如SQL查询失败或连接问题,会抛出此异常。确保SQL语句语法正确,数据库连接配置无误。 11. **java.lang.NoSuchMethodException**: 当尝试调用一个...

    JAVA常见异常解析

    在Java编程中,异常处理是一项重要的技能,它帮助开发者捕获并处理程序运行时可能出现的问题。以下是对Java中一些常见异常的详细解析: 1. **java.lang.NullPointerException**: 当尝试访问或操作一个null引用的...

    JAVA连接sqlserver2008R2驱动sqljdbc4-3.0.jar

    在Java编程环境中,连接SQL Server 2008 R2数据库通常需要依赖特定的数据库驱动。在本例中,我们使用的驱动是`sqljdbc4-3.0.jar`,这是微软提供的Java Database Connectivity (JDBC) 驱动,允许Java应用程序与SQL ...

    Database Access with SQL.rar_SQL java_java access database

    在Java中,通常需要加载数据库驱动,建立连接,创建Statement或PreparedStatement对象,执行SQL,然后处理结果集。 3. **Java Access Database**:Microsoft Access是一种小型数据库管理系统,可以与Java很好地集成...

    sqljdbc的jar包

    标题中的"sqljdbc的jar包"指的是用于Java应用程序与Microsoft SQL Server数据库进行交互的驱动程序库,这个库通常以JAR(Java Archive)文件的形式提供。在Java编程中,JDBC(Java Database Connectivity)是标准的...

    ora-dba.rar

    3. **10046 Trace**:这是Oracle的诊断事件,当开启10046级别跟踪时,数据库会详细记录SQL执行过程中的信息,包括解析、绑定、执行和优化步骤,这对于定位和解决性能问题非常有帮助。 4. **数据库开发与管理**:ora...

    sqljdbc4.jar包

    SQL Server JDBC驱动提供了异常处理机制,例如`java.sql.SQLException`,通过捕获这些异常,可以对数据库操作可能出现的问题进行适当的处理。 8. **新特性**: 不同版本的`sqljdbc4.jar`可能会包含新的特性和改进...

    SQL语句-使用C#解析SQL语句.zip

    在IT行业中,数据库管理和编程是不可或缺的部分,而SQL(Structured Query Language)作为关系型数据库管理的语言,被广泛用于数据查询、更新和管理。C#,则是一种常用的面向对象的编程语言,尤其在开发Windows应用...

    SQLException

    `SQLException`是Java中处理所有数据库错误的标准异常类,它继承自`java.lang.Exception`。本文将围绕`SQLException`这一主题,对数据库操作过程中可能遇到的一些常见异常情况进行详细解析。 #### 二、SQLException...

    java sql

    11. **异常处理**: 在Java中处理SQL操作时,需要捕获并处理`SQLException`,确保程序的健壮性。 12. **批量操作**: JDBC提供批量处理功能,允许一次性执行多条SQL语句,提高效率。 博客中的SQL文件(0.sql到10.sql...

    总结了java容易出错的信息 以及错误信息类型

    Java编程语言中,错误和异常处理是程序健壮性的重要组成部分。这些异常和错误可以分为不同的类别,帮助开发者识别和修复程序中的问题。以下是对Java中常见错误和异常类型的详细解释: 1. **算术异常类:Arithmetic...

    常见的java异常.pdf

    7. **`java.sql.SQLException`**:处理数据库操作时,如果发生错误,如连接问题、查询语法错误或数据源不可用,就会抛出此异常。确保数据库连接配置正确,SQL语句无误,并捕获并处理异常。 8. **`java.io....

    sqlserver数据库jar包

    2. jar包的使用:在Java项目中,首先需要将SQL Server的jar包添加到项目的类路径(Classpath)中,这可以通过IDE的配置、MANIFEST.MF文件或运行时的`-cp`命令行选项实现。然后,通过`java.sql.DriverManager`类的`...

    Java中常用异常列表[收集].pdf

    10. **`java.sql.SQLException`**:数据库操作异常。当与数据库交互时,如查询、插入、更新数据出错,会抛出此异常。确保SQL语句正确,数据库连接正常。 11. **`java.lang.NoSuchMethodException`**:方法未找到...

    JAVA预编译示例代码

    在 javaSQL 预编译中,如果 params 参数中有 null 值,会报 java.sql.SQLException: 索引中丢失 IN 或 OUT参数错误。例如: if (!isOpened()) { openConn(); } params[2]="aabbcc"; PreparedStatement stmt = ...

Global site tag (gtag.js) - Google Analytics