muデータベース内の特定のテーブルから行を選択し、結果に基づいてテーブルを更新しようとしています。多くの研究の後では、updateString()とupdateRow()が行く方法だと思われます。ここに私のコードだ、state
はStatement
タイプのグローバル変数であることに注意してください。これを行うMySQL - ResultSet.updateString()java.sql.SQLException:列が見つかりません
public void updateMyRows(Connection conn){
try {
int id;
String firstName, lastName, userName, pwd;
state = conn.createStatement();
String sql = "SELECT idP, firstName, lastName, salt FROM PERSON";
ResultSet rs = state.executeQuery(sql);
while (rs.next()){
id = rs.getInt("idP");
firstName = rs.getString("firstName");
lastName = rs.getString("lastName");
userName = UserNamePwd.userNameGen(lastName, firstName, id);
pwd = UserNamePwd.passWordGen(lastName, firstName, id);
rs.updateString("userName", userName);
rs.updateString("pwd", pwd);
rs.updateRow();
}
rs.close();
state.close();
} catch (Exception e){
e.printStackTrace();
}
}
は私に、このエラーを与える:
java.sql.SQLException: Column 'userName' not found.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1077)
at com.mysql.jdbc.ResultSetImpl.updateString(ResultSetImpl.java:7788)
at AddUsersToDB.addUserNamesAndHash(AddUsersToDB.java:79)
at AddUsersToDB.main(AddUsersToDB.java:96)
しかし、「ユーザー名」はの1の正確な名前です。更新したい列...何が起こっているのですか?
ありがとうございました!今は完璧に動作しています! – AlexT