0

コード:

sql = "INSERT INTO `admin` (`id`,`username`,`password`,`access`) VALUES ('"+(numIds+1)+"','"+addedUsername+"','"+addedPassword+"','"+addedAccess+"');";

Statement statementAdd = (Statement) DBconnection.createStatement();
result = statementAdd.executeUpdate(sql);

エラー:

MySQLLogin.java:133: error: incompatible types
            result = statementAdd.executeUpdate(sql);
                                               ^
required: ResultSet
found:    int
1 error

何か案は?

4

3 に答える 3

4

ExecuteUpdate は整数を返します。結果セットに割り当てているようです

于 2013-03-23T14:20:18.673 に答える
0

executeUpdate影響を受ける行数を返します(この場合、挿入された行数を返します。ただしintResultSetオブジェクトに戻り値を割り当てようとしています。

したがって、次のように変更します。

int insertedRows = statementAdd.executeUpdate(sql);

詳細については、クラスのjavadocsをStatement参照してください。

于 2013-03-23T16:13:59.673 に答える
0

このため:

'"+(numIds+1)+"'

文字列を使用して数学を実行しようとしているか、文字列を数値フィールドに挿入しようとしています。あなたのエラーメッセージを考えると、私は後者を疑っています。それを文字列にするのは一重引用符です。

于 2013-03-23T15:29:31.667 に答える