簡體   English   中英

將行插入MySQL DB?

[英]Insert row into MySQL DB?

編碼:

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

有任何想法嗎?

ExecuteUpdate返回整數,似乎您正在將其分配給結果集

為了這:

'"+(numIds+1)+"'

您正在嘗試對字符串進行數學運算,或者嘗試將字符串with插入數字字段。 考慮到您的錯誤消息,我懷疑是后者。 這是使字符串成為單引號的原因。

executeUpdate返回受影響的行數(在您的情況下,它將返回插入的行數。但是,您嘗試將返回的int分配給ResultSet對象。

因此,只需將其更改為:

int insertedRows = statementAdd.executeUpdate(sql);

有關更多信息,請參見Statementjavadocs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM