2016-11-24 25 views
0

以下のコードで何が間違っているのか分かりません。「java.sql.SQLException:パラメータ1に値が指定されていません」とは何ですか?

try { 
     String sql = "INSERT INTO `myporject`.`selectnation` (`nations` ,`package` ,`persons`) " 
       + "VALUES ('?', ?, ?)"; 
     PreparedStatement ps = connect.prepareStatement(sql); 
     if (ps.executeUpdate() != -1) { 
      ps.setString(1,"Japan"); 
      ps.setInt(2, this.pack); 
      ps.setString(3, jTextField1.getText()); 

そして、これはのStackTrace

ある

ます。java.sql.SQLException:1

+7

Uh ...クエリを実行する前にパラメータを設定することはできますか? –

答えて

3

あなたはパラメータを設定する前にprepareStatementを実行しようとしているパラメータに指定された値がありません、あなたが必要とするので、コードを次のように変更します。

PreparedStatement ps = connect.prepareStatement(sql); 

//set the parameters first 
ps.setString(1,"Japan"); 
ps.setInt(2, this.pack); 
ps.setString(3, jTextField1.getText()); 

//now execute the prepared statement 
if (ps.executeUpdate() != -1) { 
    //add your code 
} 

私は、hereを参照してjdbcの概念を理解することをお勧めします。

関連する問題