السلام عليكم شباب
هذه المحاضرة إن شاء الله تفي بالغرض
JDBC هو اختصار لـ ( Java data base connectivity) و هي بالحقيقة مجموعة من الـ ( API ) موجودة داخل الحزمة ( java.sql & javax.sql ) و هذه الـ API تخليك تتصل باي قاعدة بيانات و تطبق عليها لغة الاستعلام SQL و في ما يلي الخطوات السبعة و المتسلسلة حتى تستعمل الـ JDBC :-
1- تضمين حزمة الـ java.sql :
و هذا يتم عن طريق الـجملة التالية
import java.sql;
2- تحميل JDBC driver
يا اخوان هنا يجب الانتباه ان لكل نوع من قواعد البيانات driver خاص بي يعني driver الاوراكل يختلف عن driver الاكسس و هكذا وكل شركة متخصصة في قواعد البيانات يعمل لها driver خاص الها حتى تتصل بـ JDBC يعني مثلا في نوع من قواعد البيانات اسمه Sybex لازم يكون الـ driver متوفر و الخاص بقاعدة بيانات Sybex حتى تتعامل مع الـ JDBC.
اما تطريقة تحميل الـ dirver فهي تتم بالجملة التالية
Class.forName("dirvername");
dirvername هو الي راح يختلف مع اختلاف قواعد البيانات و هو بالحقيقة class موجود داخل حزمة وحتى تحصل على محلومات اكثر و تعرف كل dirvers الخاصة بـ JDBC روح الى هذا الموقع http://www.javasoft.com/products/jdbc/jdbc...bc.drivers.html
3- الربط مع قاعدة البيانات
و هنا ايضا طريقة الربط تختلف من قاعدة الى اخرى و ذلك بالاختلاف الـ driver الخاص بالقاعدة.
ولكن بصورة عامة
Connection con=DriverManager("******");
في مكان النجوم يكمن اختلا ف الربط
ففي حالة الربط مع قاعدة بيانات الاكسس تكتب التالي
Connection con=DriverManager("jdbc:odbc:dbname");
و حتى تفعل الـ dbname لازم تروح الى لوحة التحكم الخاصة بالوندوز و تذهب الى odbc data sources و هناك تضيف قاعدة البيانات الى تريد تستعمله
اما في حالة الاوراكل فتستعمل الاتي
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@hostname:1521:dbname",username,password);
و هنا تتصل بقاعدة البيانات كانه انت تتصل ب جهاز خادم
4- تحدد الجملة الاستعلام
و هذا يتم عن طريق الجملة التالية
Statement statement=con.createStatement();
5- تنفيذ جملة الاستعلام
و هذا يتم عن طريق الجملة التالية
ResultSet rs=statement.executeQuery("SELECT * FROM table WHERE age=20");
اخوان هنا نتائج الاستعلام سوف تخزن في داخل rs و اعتبرها مثل المصفوفة اقل حجم لها هو صفر و اكبر حجم لها هو حجم الجدول نفسه. و طبعا ايعازات UPDATE او DELETE في الـ SQL لا يحتاج ارجاع معلومات في rs لهذا راجع الـ documentation الخاصة بـ الحزمة java.sql.
6- استرجاع المعلومات
اخوان المعلومات موجودة الان داخل rs و لو تراجع java.sql documentation راح تشوف methods اكثر من الشي الي تحتاجه و لكن انته بصورة عامة تستعمل ما ياتي:
while(rs.next())
{
rs.getString("name");
rs.getInt("age");
}
7- اغلاق rs & statement & con
كما يلي
rs.close();
statement.close();
con.close();
وهذا فائدته حتى تخلي الذاكرة مرتاحة. و ما فيها شي غير مستعمل
اخوان هذه هي الـ JDBC واي استفسار اني حاضر و في خدمتكم
حسين
