【问题标题】:Insert values to mysql Java将值插入 mysql Java
【发布时间】:2018-04-05 11:11:03
【问题描述】:

它给出了这个错误:

"java.sql.SQLException: 参数索引超出范围(1> 参数个数,为0)。 "

这是代码:

public void insertData(int id,String name, String status, String age){



     String sql = "INSERT INTO student_table (id,name,satus,age) VALUES  (id,name,status,age)";

     try (Connection conn1 = this.connects();PreparedStatement Prepst= conn1.prepareStatement(sql)){

     Prepst.setInt(1, id);
     Prepst.setString(2, name);
     Prepst.setString(3, status);
     Prepst.setString(4, age);
     Prepst.executeUpdate();

     }catch(Exception e){
            System.err.println(e);

      }

如果我将参数索引更改为另一个值,即:

Prepst.setInt(0, id);

然后它给出了这个错误:

" java.sql.SQLException: 参数索引超出范围 (0

----更新-----

我插入了这段代码:

String sql = "INSERT INTO student_table (id,name,satus,age) VALUES  (?,?,?,?)";

它产生相同的结果:

RESULT

表结构:

【问题讨论】:

  • 带有(?,?,?,?)的版本是正确的,但是第一个参数在位置1,而不是0。
  • 好吧,对不起,我尝试了不同的方法。更正后它给出了这个 --> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'satus' in 'field list'
  • 你能把表结构/模式发给我吗?
  • @KlaydPro 也许是status,而不是satus?无论如何,你的问题得到了回答。请不要用“帮助我调试我的代码,直到我得到正确的结果”来扩展它。

标签: java mysql sql-insert


【解决方案1】:

你的 SQL 表达式

INSERT INTO student_table (id,name,satus,age) VALUES  (id,name,status,age)

实际上没有任何参数。尝试:

INSERT INTO student_table (id,name,satus,age) VALUES  (?,?,?,?)

【讨论】:

  • @KlaydPro 请阅读PreparedStatement 的JavaDocs。在PreparedStatement 中,参数的索引从 1 开始,而不是 0。
【解决方案2】:

试试这个...

public void insertData(int id,String name, String status, String age){



     String sql = "INSERT INTO student_table (id,name,satus,age) VALUES  (?,?,?,?)";

     try (Connection conn1 = this.connection;PreparedStatement Prepst= conn1.prepareStatement(sql)){

     Prepst.setInt(1, id);
     Prepst.setString(2, name);
     Prepst.setString(3, status);
     Prepst.setString(4, age);
     Prepst.executeUpdate();

     }catch(Exception e){
            System.err.println(e);

      }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    • 2015-08-02
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多