Я пытаюсь проверить, есть ли «Имя пользователя» и «Email» аргументы в моем конструкторе существуют в таблице SQL.Java SQL (JDBC): как перейти к следующему столбцу?
это мой код:
public DB(String usr, String eml, String pwd) {
this.usr = usr;
this.eml = eml;
this.pwd = pwd;
String jdbcUrl = "jdbc:mysql://localhost:3306/registered";
String jdbcUser = "....";
String jdbcPassword = "....";
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(jdbcUrl, jdbcUser,
jdbcPassword);
statement = connection.createStatement();
теперь, если я использую ВЫБРАТЬ с двумя столбцами, например:
String command = "SELECT UserName,Email FROM users WHERE UserName LIKE '" + this.usr.toString() + "';";
resultSet = statement.executeQuery(command);
, а затем сделать мой цикл для Resultset ... как это :
while (resultSet.next()) {
if (usr.equalsIgnoreCase(resultSet.getString("UserName"))) {
System.out.println("UserName : " + this.usr + " is taken!");
}
else if (eml.equalsIgnoreCase(resultSet.getString("Email"))) {
System.out.println("Email : " + this.eml + " is taken!");
}
else {
System.out.println("Email : " + this.eml + " and UserName : " + this.usr + " are AVAILABLE!");
command = "INSERT users SET UserName = '" + this.usr.toString() + "',Email = '" + this.eml.toString() + "',Password = '" + this.pwd.toString() + "',Status = '0' ,Connected = '1';";
statement.executeUpdate(command);
}
}
} catch (SQLException e) {
System.out.println("SQLException: " + e.getMessage());
System.out.println("Vendor error: " + e.getErrorCode());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
resultSet.next()
работает только через колонку «FIRST», что означает если «USR» существует в таблице она работает, , но если «USR» не существует в таблица, две другие, если утверждения не работают.
, ... я хочу проверить как первый столбец, так и второй, .. и, возможно, третий или более скоро .., любая помощь?
Что делает pstmt.setString (,); делать ? , если я использую prepareStatement, тогда мне нужно удалить ** \t statement = connection.createStatement(); ** ??? – amjazzed
@ user3651124 'setString' устанавливает значение параметра (помечено символом'? '). Я настоятельно рекомендую вам проверить документацию по API и прочитать базовый учебник JDBC, чтобы лучше узнать JDBC. –