守则:
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
有什么想法吗?
答案 0 :(得分:4)
ExecuteUpdate返回整数,似乎您将其分配给结果集
答案 1 :(得分:0)
为此:
'"+(numIds+1)+"'
您要么尝试使用字符串进行数学运算,要么将字符串插入到数字字段中。鉴于您的错误消息,我怀疑后者。它是单引号,使其成为一个字符串。
答案 2 :(得分:0)
executeUpdate
返回受影响的行数(在您的情况下,它将返回插入的行数。但您尝试将返回的int
分配给ResultSet
对象
所以只需将其更改为:
int insertedRows = statementAdd.executeUpdate(sql);
有关详细信息,请参阅javadocs for Statement
class。