الاتصال بقواعد بيانات SQLite من خلال تطبيقات الجافا

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

الاتصال بقواعد بيانات SQLite من خلال تطبيقات الجافا

مُساهمة من طرف أحمد مناع في الثلاثاء يناير 07, 2014 10:15 pm

بسم الله الرحمن الرحيم

أهلا وسهلا بكم إخوانى الكرام ....تعرّفت البارحة على قاعدة البيانات SQLite. وهي عبارة عن مكتبة صغيرة مفتوحة المصدر مكتوبة بلغة السي تعمل في عدد من المنصات، حجمها في نظام لينكس حوالي 500 كيلوبايت فقط. ويمكن جعل نظام التشغيل جاهز للتعامل معها بإنزالها من الموقع، أو بواسطة مدير الحزم في نظام لينكس، أو فقط بالحصول على ملف المكتبة ثم نسخه في دليل المكتبات. والجزء اﻵخر هو ملف قاعدة البيانات، وهو ملف يكون في نفس الجهاز. والوصول لهذا الملف والبيانات تكون عن طريق تلك المكتبة.و الموقع الرسمى لتلك القاعدة على العنوان التالى :

www.sqlite.org

يمكن استخدامها في عدد من التطبيقات التي تحتاج لتخزين البيانات بصورة محلية. مثلاً Firefox يستخدمها لتخزين المواقع التي تمت زيارتها في جهاز المستخدم. وهي بديل مناسب لقواعد البيانات القديمة مثل Paradox والمملوكة مثل Access. ويمكن استخدامها في منصات الهواتف الذكية مثل الأندرويد ..وهي تدعم الوصول المتعدد في نفس الجهاز، وتدعم الـ Transactions . وتدعم كذلك لغة SQL. وتُعتبر خطوة مهمة في تبسيط استخدام قواعد البيانات للتطبيقات التي تتطلب البساطة وعدم التعقيد، وبالتالي يسهل الدعم لتلك البرامج.

_ خطوات الاتصال بقواعد بيانات SQLite من خلال تطبيقات الجافا  

1_ قم بتحميل سائق الاتصال لهذه القاعدة JDBC driver من على هنــــــــــــــــــــــا  

2_ قم بوضع الملف sqlite-jdbc-3.7.2.jar  فى classpath لمشروعك 

3_ يتم بناء جملة الاتصال بقاعدة بيانات  SQLite على النحو التالى :

الرمز:
jdbc:sqlite:database_file_path


  • حيث ان :database_file_path هو أسم مسار قاعدة البيانات سواء كان المسار نسبى أو مسار مطلق .....على سبيل المثال :



  1. المسار النسبى


الرمز:
jdbc:sqlite:product.db


  • المسار المطلق


الرمز:
jdbc:sqlite:C:/work/product.db

4_تحميل سائق الاتصال JDBC driver لقواعد بيانات SQLit فى تطبيق الجافا

ويمكن أن يتم ذلك بإستخدام الشفرة التالية :

الرمز:
Class.forName("org.sqlite.JDBC");

أو بإستخدام الشفرة التالية :

الرمز:
DriverManager.registerDriver(new org.sqlite.JDBC());

5_ المثال كاملا

المثال التالي يقوم بإنشاء اتصال إلى قاعدة بيانات SQLite و التى تسمى product.db و الملف موجود في نفس الدليل تطبيق الجافا و يطبع بعض المعلومات الوصفية قاعدة البيانات، وإغلاق الاتصال:

الرمز:
package net.codejava.jdbc;
 
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
 
public class JdbcSQLiteConnection {
 
    public static void main(String[] args) {
        try {
            Class.forName("org.sqlite.JDBC");
            String dbURL = "jdbc:sqlite:product.db";
            Connection conn = DriverManager.getConnection(dbURL);
            if (conn != null) {
                System.out.println("Connected to the database");
                DatabaseMetaData dm = (DatabaseMetaData) conn.getMetaData();
                System.out.println("Driver name: " + dm.getDriverName());
                System.out.println("Driver version: " + dm.getDriverVersion());
                System.out.println("Product name: " + dm.getDatabaseProductName());
                System.out.println("Product version: " + dm.getDatabaseProductVersion());
                conn.close();
            }
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
}

_ هذا من ناحية الاتصال ....أما من ناحية التعامل مع القاعدة كلاضافة و الحذف و التعديل و التنقل بين السجلات فهى نفس فكرة الدرس الموجود على الرابط التالى :


_تحياتى لكم

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الاتصال بقواعد بيانات SQLite من خلال تطبيقات الجافا

مُساهمة من طرف زهراء في الأربعاء يناير 08, 2014 9:45 am


دايما مبدع فى شرحك ....الله يبارك فيك وفى علمك

زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 372
التقيم : 24
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الاتصال بقواعد بيانات SQLite من خلال تطبيقات الجافا

مُساهمة من طرف عائشة في الجمعة مايو 27, 2016 12:42 pm

مشكور على المقال دائما في القمة ماشاء الله......لدي سؤال متعلق ب sqlite
أنا انشأت قاعدة البيانات الخاصة ببرنامجي بsqlite والأن أريد أن أضيف foreign key كيف أفعل ذلك

عائشة
.
.

تاريخ التسجيل : 23/05/2016
المساهمات : 4
النقاط : 6
التقيم : 0
الدولة : الجزائر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الاتصال بقواعد بيانات SQLite من خلال تطبيقات الجافا

مُساهمة من طرف المبرمج الطموح في الجمعة مايو 27, 2016 1:33 pm

عائشة كتب:مشكور على المقال دائما في القمة ماشاء الله......لدي سؤال متعلق ب sqlite
أنا انشأت قاعدة البيانات الخاصة ببرنامجي بsqlite والأن أريد أن أضيف foreign key كيف أفعل ذلك

أولا :انشاء جدولين ليس لديهم foreign key 


مثال جدوال salespeople

الرمز:
CREATE TABLE salespeople (
  id INTEGER PRIMARY KEY,
  first_name TEXT NOT NULL,
  last_name TEXT NOT NULL,
  commission_rate REAL NOT NULL
);

و جدول customers

الرمز:
CREATE TABLE customers (
  id INTEGER PRIMARY KEY,
  company_name TEXT NOT NULL,
  street_address TEXT NOT NULL,
  city TEXT NOT NULL,
  state TEXT NOT NULL,
  zip TEXT NOT NULL
);

بعد ذلك، انشاء الجدول الذى تريدة ان يحتوى على foreign key و ليكن جدول orders على النحو التالى :

الرمز:
CREATE TABLE orders (
  id INTEGER PRIMARY KEY,
  customer_id INTEGER,
  salesperson_id INTEGER,
  FOREIGN KEY(customer_id) REFERENCES customers(id),
  FOREIGN KEY(salesperson_id) REFERENCES salespeople(id)
);

تحياتى

المبرمج الطموح
الاشراف
الاشراف

تاريخ التسجيل : 18/02/2011
المساهمات : 117
النقاط : 213
التقيم : 6
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى