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

为了这:

'"+(numIds+1)+"'

您要么尝试对字符串进行数学运算,要么将字符串插入到数字字段中。鉴于您的错误信息,我怀疑是后者。单引号使它成为一个字符串。

于 2013-03-23T15:29:31.667 回答
0

executeUpdate返回受影响的行数(在您的情况下,它将返回插入的行数。但是您正在尝试将返回分配给int对象ResultSet

所以只需将其更改为:

int insertedRows = statementAdd.executeUpdate(sql);

有关更多信息,请参阅类的javadocs 。Statement

于 2013-03-23T16:13:59.673 回答