Скопируйте код кода следующим образом:
//Основная информация пользователя также представляет собой три столбца в таблице USERINFO.
решение о входе в пакет;
Пользователь публичного класса {
частное имя строки;
частная строка имени пользователя;
частная строка loginpsw;
публичная строка getName() {
вернуть имя;
}
public void setName (имя строки) {
это.имя = имя;
}
публичная строка getLoginname() {
вернуть имя пользователя;
}
public void setLoginname(String loginname) {
this.loginname = имя пользователя;
}
публичная строка getLoginpsw() {
вернуть логинпсв;
}
public void setLoginpsw (String loginpsw) {
this.loginpsw = loginpsw;
}
}
//Небольшой блок кода для регистрации и входа
решение о входе в пакет;
импортировать java.util.Scanner;
публичный класс In {
общедоступный статический пользователь getUser(){
Пользователь u = новый пользователь();
Сканер sc = новый сканер(System.in);
System.out.println("Пожалуйста, введите свое имя для входа");
u.setLoginname(sc.nextLine());
System.out.println("Пожалуйста, введите свой пароль");
u.setLoginpsw(sc.nextLine());
вернуть тебя;
}
публичный статический пользователь RegisterUser(){
Пользователь u = новый пользователь();
Сканер sc = новый сканер(System.in);
System.out.println("Пожалуйста, зарегистрируйте имя пользователя");
u.setName(sc.nextLine());
System.out.println("Пожалуйста, зарегистрируйте свое имя для входа");
u.setLoginname(sc.nextLine());
System.out.println("Пожалуйста, зарегистрируйте пароль");
u.setLoginpsw(sc.nextLine());
вернуть тебя;
}
}
//Проверка при входе в систему, чтобы определить правильность имени пользователя и пароля. Если они верны, вернуть имя пользователя.
решение о входе в пакет;
импортировать java.sql.Connection;
импортировать java.sql.DriverManager;
импортировать java.sql.PreparedStatement;
импортировать java.sql.ResultSet;
импортировать java.sql.SQLException;
общественный класс Проверить {
public static void checkUser (Пользователь u)
{
пытаться {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
е.printStackTrace();
}
Строка URL = "jdbc:oracle:thin:@localhost:1521:orcl";
Строка пользователя = «Скотт»;
Строковый пароль = «тигр»;
Соединение конн = ноль;
ResultSet rs = null;
ReadedStatement pst = null;
String sql = "Выберите имя из USERINFO, где имя входа = ? и логинпсв = ?";
пытаться {
conn = DriverManager.getConnection(url, пользователь, пароль);
pst = conn.prepareStatement(sql);
pst.setString(1, u.getLoginname());
pst.setString(2,u.getLoginpsw());
rs = pst.executeQuery();
в то время как (rs.next ()) {
u.setName(rs.getString(1));
}
} catch (SQLException e) {
е.printStackTrace();
}окончательно{
пытаться {
рс.закрыть();
пст.закрыть();
конн.закрыть();
} catch (SQLException e) {
е.printStackTrace();
}
}
if(u.getName() == null || u.getName().isEmpty()){
System.out.println("Не удалось войти в систему");
}еще{
System.out.println("Добро пожаловать"+u.getName()+"Войти");
}
}
}
//В интерфейсе регистрации необходимо определить, дублируется ли логин. Если есть дубликаты, регистрация не удастся. У меня есть небольшой вопрос, я отметил его комментариями.
решение о входе в пакет;
импортировать java.sql.Connection;
импортировать java.sql.DriverManager;
импортировать java.sql.PreparedStatement;
импортировать java.sql.ResultSet;
импортировать java.sql.SQLException;
импортировать java.sql.Statement;
публичный класс Регистр {
public static void RegisterUser(User u){
пытаться {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
е.printStackTrace();
}
Строка URL = "jdbc:oracle:thin:@localhost:1521:orcl";
Строка пользователя = «Скотт»;
Строковый пароль = «тигр»;
Соединение конн = ноль;
String sql = "Вставить в значения USERINFO(?,?,?)";
ReadedStatement pst = null;
//Определяем, существует ли уже имя для входа
Заявление s = ноль;
ResultSet rs = null;
String sql_ck = "Выберите ИМЯ ЛОГИНА ИЗ ИНФОРМАЦИИ ПОЛЬЗОВАТЕЛЯ";
пытаться {
conn = DriverManager.getConnection(url, пользователь, пароль);
pst = conn.prepareStatement(sql);
pst.setString(1, u.getName());
pst.setString(2, u.getLoginname());
pst.setString(3, u.getLoginpsw());
//Определяем, существует ли уже имя для входа
s = conn.createStatement();
rs = s.executeQuery(sql_ck);
while(rs.next()){//Почему при использовании rs.getString(2) выдается неверный индекс?
if( rs.getString("LOGINNAME").equals(u.getLoginname()) ){
System.out.println("Имя для входа уже существует, регистрация не удалась");
перерыв;
}еще{
pst.executeUpdate();
System.out.println("Регистрация прошла успешно");
перерыв;
}
}
} catch (SQLException e) {
е.printStackTrace();
}окончательно{
пытаться {
рс.закрыть();
пст.закрыть();
с.закрыть();
конн.закрыть();
} catch (SQLException e) {
е.printStackTrace();
}
}
}
}
//основной интерфейс//
//Структура таблицы в базе данных такая
//имя (имя пользователя, используется для отображения),
//имя_логина (имя для входа, идентификатор, введенный при входе)
//loginpsw (пароль, вводимый при входе в систему)
решение о входе в пакет;
импортировать java.util.Scanner;
тест публичного класса {
public static void main(String[] args) {
инчос = 0;
Сканер sc = новый сканер(System.in);
System.out.println("/t/tLogin, пожалуйста, нажмите 1/t/tRegistration, пожалуйста, нажмите 2");
chos = sc.nextInt();
переключатель (чос) {
случай 1: Check.checkUser(In.getUser());break;
случай 2: Register.registUser(In.registerUser());break;
по умолчанию: System.out.println("Пожалуйста, введите правильный выбор");break;
}
}
}