sql >> データベース >  >> RDS >> Mysql

キャッチされた例外:java.sql.SQLException:列数が行1の値数と一致しません

    PreparedStatementを使用することをお勧めします Statementの代わりに 。 sql injectionを防ぐのに役立ちます 攻撃。 PreparedStatementを作成してみてください のように-

    String updateString ="INSERT INTO deductions (empId, dedId, dedName, dedAmount, dedDate) VALUES (?,?,?,?,?)";
    
        PreparedStatement preparedStatement = conn.prepareStatement(updateString);
    
        preparedStatement.setInt(1, empId);
        preparedStatement.setInt(2, dedId);
        preparedStatement.setString(3, dedName);
        preparedStatement.setDouble(4, dedAmount);
        preparedStatement.setDate(5, dedDate);
    
        preparedStatement .executeUpdate();
    


    1. MySQLで文字列の一部を置き換える方法

    2. .NET 4:Web.Configの他のアセンブリでEDMXファイルを構成する方法

    3. SQLで、各グループの上位2行を選択する方法

    4. MYSQLは、切り替えられた場合でも2つの列のエントリを区別します