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

SQLException:executeQueryメソッドを更新に使用できません

    レコードを挿入するため、executeUpdate()を使用する必要があります executeQuery()ではありません 。

    通常誤用されるいくつかの方法は次のとおりです。

    boolean execute()

    ResultSet executeQuery()

    int executeUpdate()

    もう1つ、クエリはSQL Injectionで脆弱であるため、弱いです。 。 PreparedStatementを使用してパラメータ化してください 。

    サンプルコードスニペット:

    String insertNewUserSQL = "INSERT INTO " + studentsTable + " VALUES (?, ?, ?, ?, ?, ?, ?)";
    PreparedStatement pstmt = con.prepareStatement(insertNewUserSQL);
    pstmt.setString(1, userName);
    // ... repeat this step until the last parameter ....
    pstmt.setString(7, email);
    pstmt.executeUpdate();
    


    1. テキスト、ntext、および画像のデータ型は、IS NULLまたはLIKE演算子を使用する場合を除いて、比較または並べ替えることはできません。

    2. SQLServerの依存関係

    3. SELECT max(x)はnullを返します。どうすれば0を返すことができますか?

    4. MSAccessチームのスペシャルゲストミハルバーと一緒に参加しましょう!