在MySQL DB中插入行?

时间:2013-03-23 14:18:47

标签: java sql

守则:

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

有什么想法吗?

3 个答案:

答案 0 :(得分:4)

ExecuteUpdate返回整数,似乎您将其分配给结果集

答案 1 :(得分:0)

为此:

'"+(numIds+1)+"'

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

答案 2 :(得分:0)

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

所以只需将其更改为:

int insertedRows = statementAdd.executeUpdate(sql);

有关详细信息,请参阅javadocs for Statement class