آلية تسجيل الدخول في تطبيق جافا إف إكس
02 Mar 2021
هذه الصفحة جزء من شرح بناء تطبيق جافا إف إكس من الصفر
الآن وبعد تصميم الواجهة و ربط التطبيق مع قاعدة البيانات، سننشئ دالة لزر تسجيل الدخول، بحيث عندما يضغط المستخدم عليه نأخذ القيم من حقلي اسم المستخدم وكلمة المرور ونرسلها لقاعدة البيانات للتحقق من صلاحياتها، وإذا كانت تلك البيانات صالحة نقوم بتحويل المستخدم للنافذة الرئيسية ويكون بذلك قد أتم تسجيل الدخول.
لنبدأ أولًا بكتابة الدالة “getUser” التي تأخذ اسم المستخدم وكلمة المرور وتبحث عنهم في قاعدة البيانات:
لاحظ أننا استخدمنا المعطيات في ملف Const كما ذكرنا سابقا، وللعلم فإننا نضع إشارة استفهام في عبارة SQL كما ترى في متغير query أعلاه، ثم لاحظ السطر:
preparedStatement.setString(1, username);
أي قم باستبدال إشارة الاستفهام الأولى بالمتغير username، وهكذا.
الدالة تُرجع Resultset وهي تعني مجموعة من النتائج، أي إذا أردنا إرجاع عدة مستخدمين يشتركون في نفس المعلومات المعطاة، قد لا يتطلب هنا فعليا إرجاع resultset وإنما يمكن جعلها فقط ترجع صح true أو خطأ false أي تُرجع فقط المعلومة فيما إذا كان المستخدم موجود في قاعدة البيانات أم لا، يمكنك تغيير الدالة لتعمل بهذا الشكل أو بالشكل الذي تريد، سأترك ذلك كتمرينا لك.
ولنذهب الآن لملف LoginController، في البداية لنقم باستدعاء الصنف DatabaseHandler، لذا وقبل السطر:
public class LoginController {
أضف التالي:
import sample.Database.DatabaseHandler;
import java.sql.ResultSet;
وقبل سطري
@FXML
void initialize() {
لنقم بإضافة السطر التالي (حيث سنقوم بإنشاء عنصر من صنف DatabaseHandler):
private DatabaseHandler databaseHandler;
ولنقم الآن بإضافة التالي للصنف (بين القوسين):
قم الآن بتشغيل الكود وأدخل معلومات المستخدم الذي أدخلته سابقا في جدول Users في قاعدة البيانات، أنا لدي البيانات “admin” لكلا اسم المستخدم وكلمة المرور، اضغط على تسجيل الدخول، إذا ظهرت في طرفية IntelliJ رسالة “Login Successful!!!” فهذا يعني أن كل شيئ على مايرام.
يمكنك معاينة الكود حتى الوضع الحالي من هنا
التالي: الانتقال بين النوافذ