انسخ رمز الكود كما يلي:
// المعلومات الأساسية للمستخدم هي أيضًا ثلاثة أعمدة في جدول USERINFO
حكم تسجيل الدخول للحزمة؛
مستخدم الفئة العامة {
اسم سلسلة خاصة؛
اسم تسجيل الدخول للسلسلة الخاصة؛
سلسلة خاصة تسجيل الدخولpsw؛
سلسلة عامة getName () {
اسم الإرجاع؛
}
اسم مجموعة الفراغ العام (اسم السلسلة) {
this.name = name;
}
سلسلة عامة getLoginname() {
عودة اسم الدخول؛
}
public void setLoginname(String loginname) {
this.loginname = اسم الدخول؛
}
سلسلة عامة getLoginpsw() {
إرجاع تسجيل الدخولpsw;
}
مجموعة الفراغ العامةLoginpsw(سلسلة تسجيل الدخولpsw) {
this.loginpsw = loginpsw;
}
}
// كتلة تعليمات برمجية صغيرة للتسجيل وتسجيل الدخول
حكم تسجيل الدخول للحزمة؛
استيراد java.util.Scanner؛
الطبقة العامة في {
المستخدم الثابت العام getUser(){
المستخدم u = مستخدم جديد ()؛
Scanner sc = new Scanner(System.in);
System.out.println("الرجاء إدخال اسم تسجيل الدخول الخاص بك");
u.setLoginname(sc.nextLine());
System.out.println("الرجاء إدخال كلمة المرور الخاصة بك");
u.setLoginpsw(sc.nextLine());
ارجع ش؛
}
تسجيل المستخدم العام الثابت () {
المستخدم u = مستخدم جديد ()؛
Scanner sc = new Scanner(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؛
import java.sql.PreparedStatement;
import java.sql.ResultSet;
استيراد java.sql.SQLException؛
فحص الطبقة العامة {
مستخدم التحقق من الفراغ الثابت العام (المستخدم u)
{
يحاول {
Class.forName("Oracle.jdbc.driver.OracleDriver");
} التقاط (ClassNotFoundException e) {
printStackTrace();
}
String url = "jdbc:Oracle:thin:@localhost:1521:orcl";
مستخدم السلسلة = "سكوت"؛
كلمة مرور السلسلة = "النمر"؛
اتصال كون = فارغ؛
ResultSet rs = null;
PreparedStatement pst = null;
String sql = "اختر اسمًا من USERINFO حيث اسم تسجيل الدخول = ? وloginpsw = ? ";
يحاول {
conn = DriverManager.getConnection(url, user,password);
pst = conn.prepareStatement(sql);
pst.setString(1, u.getLoginname());
pst.setString(2,u.getLoginpsw());
rs = pst.executeQuery();
بينما(rs.next()){
u.setName(rs.getString(1));
}
} قبض على (SQLException ه) {
printStackTrace();
}أخيراً{
يحاول {
rs. Close();
pst.إغلاق();
conn.Close();
} قبض على (SQLException ه) {
printStackTrace();
}
}
if(u.getName() == null || u.getName().isEmpty()){
System.out.println("فشل تسجيل الدخول");
}آخر{
System.out.println("مرحبًا"+u.getName()+"تسجيل الدخول");
}
}
}
// في واجهة التسجيل، من الضروري تحديد ما إذا كان اسم تسجيل الدخول مكررًا أم لا، وإذا كان هناك تكرارات، فسيفشل التسجيل. لدي سؤال صغير، وقد وضعت علامة عليه مع التعليقات.
حكم تسجيل الدخول للحزمة؛
استيراد java.sql.Connection؛
استيراد java.sql.DriverManager؛
import java.sql.PreparedStatement;
import java.sql.ResultSet;
استيراد java.sql.SQLException؛
استيراد java.sql.Statement؛
تسجيل الطبقة العامة {
تسجيل الفراغ الثابت العام (المستخدم u) {
يحاول {
Class.forName("Oracle.jdbc.driver.OracleDriver");
} التقاط (ClassNotFoundException e) {
printStackTrace();
}
String url = "jdbc:Oracle:thin:@localhost:1521:orcl";
مستخدم السلسلة = "سكوت"؛
كلمة مرور السلسلة = "النمر"؛
اتصال كون = فارغ؛
String sql = "أدخل في قيم USERINFO (؟،؟،؟)"؛
PreparedStatement pst = null;
// تحديد ما إذا كان اسم تسجيل الدخول موجودًا بالفعل
البيان s = null;
ResultSet rs = null;
String sql_ck = "اختر اسم تسجيل الدخول من معلومات المستخدم";
يحاول {
conn = DriverManager.getConnection(url, user,password);
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)؟
إذا (rs.getString("LOGINNAME").equals(u.getLoginname()) ){
System.out.println("اسم تسجيل الدخول موجود بالفعل، فشل التسجيل");
استراحة؛
}آخر{
pst.executeUpdate();
System.out.println("تم التسجيل بنجاح");
استراحة؛
}
}
} قبض على (SQLException ه) {
printStackTrace();
}أخيراً{
يحاول {
rs. Close();
pst.إغلاق();
s. Close();
conn.Close();
} قبض على (SQLException ه) {
printStackTrace();
}
}
}
}
//الواجهة الرئيسية//
// هيكل الجدول في قاعدة البيانات هكذا
// الاسم (اسم المستخدم، يستخدم للعرض)،
// اسم الدخول (اسم تسجيل الدخول، المعرف الذي تم إدخاله عند تسجيل الدخول)
//loginpsw (تم إدخال كلمة المرور عند تسجيل الدخول)
حكم تسجيل الدخول للحزمة؛
استيراد java.util.Scanner؛
اختبار الطبقة العامة {
public static void main(String[] args) {
إنتشوس = 0;
Scanner sc = new Scanner(System.in);
System.out.println("/t/tتسجيل الدخول يرجى الضغط على 1/t/tالتسجيل يرجى الضغط على 2");
chos = sc.nextInt();
التبديل (اختيار) {
الحالة 1: Check.checkUser(In.getUser());break;
الحالة 2: Register.registUser(In.registerUser());break;
الافتراضي: System.out.println("الرجاء إدخال الاختيار الصحيح");break;
}
}
}