Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Javaطريقة تجهيز إستعلام لتحديث معلومات موجودة في قاعدة بيانات في جافا

في المثال التالي سنفترض أننا سنقوم بالإتصال بقاعدة بيانات إسمها company تمثل قاعدة بيانات لشركة و مبنية بنظام MySQL.
يوجد في هذه القاعدة جدول خاص للموظفين إسمه employee.
في البداية سنجهز إستعلام الهدف منه تبديل إسم أي موظف نريد من الجدول.
بعدها, سنجعل البرنامج يطلب من المستخدم إدخال رقم الـ ID الخاص بهذا الموظف, ثم الإسم الجديد.
بعد إدخالهم, سيتم تحديث إسم الموظف في قاعدة البيانات.


مثال

Main.java
// هنا قمنا بإستدعاء الكلاسات و الإنترفيسات التي سنستخدمها للتعامل مع قاعدة البيانات
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
 
// لأننا سنطلب من المستخدم إدخال بيانات أثناء تشغيل البرنامج Scanner هنا قمنا بإستدعاء الكلاس
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
 
        // و الذي سنحتاج إليه لإدخال بيانات من المستخدم input إسمه Scanner هنا قمنا بإنشاء كائن من الكلاس
        Scanner input = new Scanner(System.in);
 
        try {
            // الذي سنعتمد عليه للوصول إلى قاعدة البيانات MYSQL Driver هنا قمنا بتحديد رابط الوصول لبرنامج الـ
            Class.forName("com.mysql.jdbc.Driver");
 
            // و الذي سنستخدمه لتحديد المعلومات الأساسية التي نحتاجها للإتصال بقاعدة البيانات Connection هنا قمنا بإنشاء كائن من الكلاس
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/company","root","password");
 
            // و الذي سنستخدمه لإرسال إستعلامات إلى قاعدة البيانات بناءاً على المعلومات التي يدخلها المستخدم PreparedStatement هنا قمنا بتجهيز كائن نوعه
            PreparedStatement pstmt = con.prepareStatement("UPDATE employee SET name = ? WHERE id = ?");
 
            // id الموظف الذي سيقوم بتغيير إسمه و وضعناه في المتغير ID هنا طلبنا من المستخدم إدخال
            System.out.print("Select Employee, Enter his ID: ");
            int id = input.nextInt();
 
            // name هنا طلبنا من المستخدم إدخال الإسم الجديد و وضعناه في المتغير
            System.out.print("Enter the new name: ");
            String name = input.next();
 
            // التي أدخلها المستخدم مكان أول علامة إستفهام موضوعة في الإستعلام name هنا قمنا بتمرير قيمة المتغير
            pstmt.setString(1, name);
 
            // التي أدخلها المستخدم مكان ثاني علامة إستفهام موضوعة في الإستعلام id هنا قمنا بتمرير قيمة المتغير
            pstmt.setInt(2, id);
 
            // هنا قمنا بتنفيذ الإستعلام
            pstmt.executeUpdate();
 
            // هنا قمنا بإغلاق الإتصال مع قاعدة البيانات
            con.close();
        }
        catch(Exception e) {
            System.out.println(e.getMessage());
        }
 
    }
 
}

لو كانت قاعدة البيانات موجودة و قمنا بتشغيل البرنامج, سيطلب من المستخدم إدخال رقم ID الموظف الذي يريد تحديث إسمه.

قمنا بتعليم البيانات التي إنتظرنا البرنامج لإدخالها من لوحة المفاتيح باللون الأصفر.

Select Employee, Enter his ID: 1
Enter the new name: Ahmad