คัดลอกรหัสรหัสดังต่อไปนี้:
//ข้อมูลพื้นฐานของผู้ใช้คือสามคอลัมน์ในตาราง USERINFO
การตัดสินการเข้าสู่ระบบแพ็คเกจ
ผู้ใช้คลาสสาธารณะ {
ชื่อสตริงส่วนตัว
ชื่อเข้าสู่ระบบสตริงส่วนตัว;
เข้าสู่ระบบสตริงส่วนตัวpsw;
สตริงสาธารณะ getName() {
ชื่อผู้ส่งคืน;
-
setName โมฆะสาธารณะ (ชื่อสตริง) {
this.name = ชื่อ;
-
สตริงสาธารณะ getLoginname() {
กลับชื่อเข้าสู่ระบบ;
-
setLoginname โมฆะสาธารณะ (ชื่อเข้าสู่ระบบสตริง) {
this.loginname = ชื่อล็อกอิน;
-
สตริงสาธารณะ getLoginpsw() {
ส่งคืนล็อกอิน PSW;
-
โมฆะสาธารณะ setLoginpsw (เข้าสู่ระบบสตริงpsw) {
this.loginpsw = เข้าสู่ระบบpsw;
-
-
// บล็อกโค้ดขนาดเล็กสำหรับการลงทะเบียนและเข้าสู่ระบบ
การตัดสินการเข้าสู่ระบบแพ็คเกจ
นำเข้า java.util.Scanner;
ชั้นเรียนสาธารณะใน {
ผู้ใช้คงที่สาธารณะ 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;
ชั้นเรียนสาธารณะ ตรวจสอบ {
ตรวจสอบโมฆะคงสาธารณะผู้ใช้ (ผู้ใช้ u)
-
พยายาม {
Class.forName("oracle.jdbc.driver.OracleDriver");
} จับ (ClassNotFoundException จ) {
e.printStackTrace();
-
URL สตริง = "jdbc:oracle:thin:@localhost:1521:orcl";
ผู้ใช้สตริง = "สกอตต์";
รหัสผ่านสตริง = "เสือ";
การเชื่อมต่อการเชื่อมต่อ = null;
ResultSet rs = null;
คำสั่งที่เตรียมไว้ pst = null;
String sql = "เลือกชื่อจาก USERINFO โดยที่ loginname = ? และ loginpsw = ? ";
พยายาม {
conn = DriverManager.getConnection (url, ผู้ใช้, รหัสผ่าน);
pst = conn.prepareStatement(sql);
pst.setString(1, u.getLoginname());
pst.setString(2,u.getLoginpsw());
อาร์เอส = pst.executeQuery();
ในขณะที่(rs.ถัดไป()){
u.setName(rs.getString(1));
-
} จับ (SQLException e) {
e.printStackTrace();
}ในที่สุด{
พยายาม {
rs.ปิด();
pst.ปิด();
conn.ปิด();
} จับ (SQLException e) {
e.printStackTrace();
-
-
ถ้า(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;
ลงทะเบียนชั้นเรียนสาธารณะ {
สาธารณะโมฆะคงที่ registerUser (ผู้ใช้ u) {
พยายาม {
Class.forName("oracle.jdbc.driver.OracleDriver");
} จับ (ClassNotFoundException จ) {
e.printStackTrace();
-
URL สตริง = "jdbc:oracle:thin:@localhost:1521:orcl";
ผู้ใช้สตริง = "สกอตต์";
รหัสผ่านสตริง = "เสือ";
การเชื่อมต่อการเชื่อมต่อ = null;
String sql = "แทรกเข้าไปในค่า USERINFO(?,?,?)";
คำสั่งที่เตรียมไว้ pst = null;
//ตรวจสอบว่ามีชื่อเข้าสู่ระบบอยู่แล้วหรือไม่
คำสั่ง s = null;
ResultSet rs = null;
String sql_ck = "เลือกชื่อเข้าสู่ระบบจาก USERINFO";
พยายาม {
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();
อาร์เอส = s.executeQuery(sql_ck);
while(rs.next()){//เหตุใดจึงแจ้งดัชนีที่ไม่ถูกต้องเมื่อใช้ rs.getString(2)
if( rs.getString("เข้าสู่ระบบ").เท่ากับ(u.getLoginname()) ){
System.out.println("มีชื่อเข้าสู่ระบบอยู่แล้ว การลงทะเบียนล้มเหลว");
หยุดพัก;
}อื่น{
pst.executeUpdate();
System.out.println("ลงทะเบียนสำเร็จ");
หยุดพัก;
-
-
} จับ (SQLException e) {
e.printStackTrace();
}ในที่สุด{
พยายาม {
rs.ปิด();
pst.ปิด();
s.ปิด();
conn.ปิด();
} จับ (SQLException e) {
e.printStackTrace();
-
-
-
-
//อินเทอร์เฟซหลัก//
//โครงสร้างของตารางในฐานข้อมูลจะเป็นดังนี้
//name (ชื่อผู้ใช้ ใช้สำหรับแสดงผล)
//loginname (ชื่อล็อกอิน, ID ที่ป้อนเมื่อเข้าสู่ระบบ)
//loginpsw (ใส่รหัสผ่านเมื่อเข้าสู่ระบบ)
การตัดสินการเข้าสู่ระบบแพ็คเกจ
นำเข้า java.util.Scanner;
การทดสอบชั้นเรียนสาธารณะ {
โมฆะคงที่สาธารณะ main (String [] args) {
อินชอส = 0;
สแกนเนอร์ sc = สแกนเนอร์ใหม่ (System.in);
System.out.println("/t/tLogin กรุณากด 1/t/tRegistration กรุณากด 2");
chos = sc.nextInt();
สวิตช์ (chos) {
กรณีที่ 1: Check.checkUser(In.getUser());break;
กรณีที่ 2: Register.registUser(In.registerUser());break;
ค่าเริ่มต้น: System.out.println("กรุณาระบุตัวเลือกที่ถูกต้อง");break;
-
-
-