الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

قاعدة بيانات SQLite

بدأه Ahmed-Ghanem في 23 فبراير 2011 · 33 رد · 7,075 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمه الله وبركاته

حياكم الله اخواني الكرام

قد عزمت علي عمل برنامج جديد ووجدت اني ساستخدم قاعدة بيانات SQLite

فاحببت ان اطرحها في درس بسيط حتي يعرفها من كان يجهلها

ده عرض ممتع وشامل SQLite هنا

كيفيه الاستخدام :- هذا مثال بسيط يوضح كيفيه الاستخدام :

package sqllight;

import java.sql.*;

/**
 *
 * @author Ahmed Ghanem.
 */
public class Main {

    public static void main(String[] args) throws Exception {
        Class.forName("org.sqlite.JDBC");
        Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db");
        Statement stmt = conn.createStatement();
        stmt.executeUpdate("drop table if exists people;");
        stmt.executeUpdate("create table people (firstName, lastName);");
        PreparedStatement prep = conn.prepareStatement("insert into people values (?, ?);");
        prep.setString(1, "Ahmed");
        prep.setString(2, "Ghanem");
        prep.execute();
        prep.setString(1, "Mahmoud");
        prep.setString(2, "Kelany");
        prep.execute();
        prep.setString(1, "mohamed");
        prep.setString(2, "allaw");
        prep.execute();

        ResultSet rs = stmt.executeQuery("select * from people;");
        while (rs.next()) {
            System.out.println("firstName = " + rs.getString("firstName"));
            System.out.println("lastName = " + rs.getString("lastName"));
        }
        rs.close();
        conn.close();
    }
}

ملف المشروع بالمرفقات :unsure:

sqlLight.rar

تم تعديل هذه المشاركة بواسطة Ahmed-Ghanem في 23 فبراير 2011 في 10:48

7
2coscqr.jpg
#2

على فكرا انا من زمان وانا عاوز اتعلمها

بيقولوا حلوه فى البرامج الصغيره احسن من الـ Access

تسلم الايادى

لو فيه اى حاجه تانيه منتظرينها منك

لكن هل هو فيه برنامج خاص بيها

يعنى زى الـ MySQL كدا وفيه GUI و لا لا ؟

وشكرا شكرا على ذكر اسمائنا فى البرنامج :)

جزاك الله كل خير unsure.gif

انا شايف ان التصميمم كله من داخل كود الجافا

هل فيه طريقه اخرى ؟؟

Software Developer
Mahmoudkelany.com


 

#3
Mahmoud Kelany كتب:

لكن هل هو فيه برنامج خاص بيها

يعنى زى الـ MySQL كدا وفيه GUI و لا لا ؟

post-82434-012969100 1298448230_thumb.gi

المرفقات
O_19.gif
#4

انا استخدم الاداه Navicat Lite مثلما وضح الاخ العيافي

انشاء اتصال

90997152.jpg

فحص قاعده البيانات

50684112.jpg

2coscqr.jpg
#5

برنامج لم يشتغل معايا

بسب عدم وجود

org.sqlite.JDBC

كيف يشتغل

اللهم أنى اسالك نفساً بك مطمئنة تؤمن بلقائك و ترضى بقضائك و تقنع بعطائك

#6
prog.AHB كتب:

برنامج لم يشتغل معايا

بسب عدم وجود

org.sqlite.JDBC

كيف يشتغل

اخي العزيز الملف المطلوب موجود في المرفقات ضعه في البرنامج وسيعمل .. ان لم تعرف قل وساوضح لك :)

2coscqr.jpg
#7

السلام عليكم

جزاك الله خيراً علي هذا الموضوع والمثال بالمرفق

هل من الممكن عرض شرح تفصيلي اكثر عن كيفة التعامل مع قاعدة البيانات هذه

كيفية إنشائها.....

لقد حاولت معرفة ذلك من الموقع الرسمي لها بعد أن عرفت بها من مشاركتك هذه ولكني لم افلح حتي الان

وشكراً

#8

تسلم الايادى يا احمد

والله من زمان عايز يشتغل على قاعدة البيانات دى

ومنتظرين الجديد والجديد :)

#9
java_jarer كتب:

السلام عليكم

جزاك الله خيراً علي هذا الموضوع والمثال بالمرفق

هل من الممكن عرض شرح تفصيلي اكثر عن كيفة التعامل مع قاعدة البيانات هذه

كيفية إنشائها.....

لقد حاولت معرفة ذلك من الموقع الرسمي لها بعد أن عرفت بها من مشاركتك هذه ولكني لم افلح حتي الان

وشكراً

وعليكم السلام ورحمه الله وبركاته .. جزانا واياك اخي الكريم

Statement stmt = conn.createStatement();
        stmt.executeUpdate("drop table if exists people;");
        stmt.executeUpdate("create table people (firstName, lastName);");

هنا نقوم بعمل drop للجدول people لو كان موجود ومن ثم اقوم بعمل جدول باسم people واخد 2 فيلد هما firstName و

lastName

يمكنك استخدم البرنامج السابق ذكره فهو يزودك بواجهه رسوميه يمكنك من خلالها انشاء الجداول والتحكم فيها

انظر

73504927.jpg

1
2coscqr.jpg
#10

شكراً علي الرد اخي الكريم

ان مشكلتي في تحديد موقع الداتا بيز نفسها وكيفية إنشائها

لقد قمت بتحميل البرنامج الموضح بالصورة ولكن لعمل الكونيكشن يسئلني عن موقع الملف الخاص بها

لقد جربت التعديل علي الكود الخاص بك والغيت الاسطر

stmt.executeUpdate("drop table if exists people;");
        stmt.executeUpdate("create table people (firstName, lastName);");

لينفذ البرنامج الاستعلام عن الداتا بالجدول وكانت النتيجة نفسها، ولكني لا اعلم مكان الداتا بيز :))))

#11
java_jarer كتب:

شكراً علي الرد اخي الكريم

ان مشكلتي في تحديد موقع الداتا بيز نفسها وكيفية إنشائها

لقد قمت بتحميل البرنامج الموضح بالصورة ولكن لعمل الكونيكشن يسئلني عن موقع الملف الخاص بها

لقد جربت التعديل علي الكود الخاص بك والغيت الاسطر

stmt.executeUpdate("drop table if exists people;");
        stmt.executeUpdate("create table people (firstName, lastName);");

لينفذ البرنامج الاستعلام عن الداتا بالجدول وكانت النتيجة نفسها، ولكني لا اعلم مكان الداتا بيز :))))

لا شكر علي واجب اخي الكريم

قاعده البيانات هي الملف الناتج مع عمليه تنفيذ الكود المرفق ستجد انه تم انشاء ملف باسم test.db في المشروع (هذه هي قاعده البيانات)

connection name : jdbc:sqlite:test.db

Database File : اعطيه مسار قاعده الببيانات (test.db)

1
2coscqr.jpg
#12

الحمد لله وضحت الان :)

بارك الله فيك

سؤال اخير اذا سمحت

كيف إنشئ ملف قاعدة البيانات من الأساس

لقد جربت ان اقوم بإعادة تسمية الملف، والتعديل عليه ونجحت، ولكن بالتأكيد هناك طرق اخري

شكراً مرة اخري

#14

@Ahmed Ghanem

+2

java_jarer كتب:

الحمد لله وضحت الان :)

بارك الله فيك

سؤال اخير اذا سمحت

كيف إنشئ ملف قاعدة البيانات من الأساس

لقد جربت ان اقوم بإعادة تسمية الملف، والتعديل عليه ونجحت، ولكن بالتأكيد هناك طرق اخري

شكراً مرة اخري

يتم ذلك بطريقة اوتوماتيكية عند محاولة اجراء الاتصال

فاذا لم يجد ال driver الملف test.db فسيقوم بانشاؤه

وذلك باضافة مرسل او parameter بالاسم create الى الاتصال

ليصبح المسار URL هكذا

String dburl = "jdbc:sqlite:test.db;create=true";

تحياتى

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 23 فبراير 2011 في 15:12


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#15

شكرا جزيلا اخى عثمان

شكرا اخ احمد

لكن لدى ملاحظه بسيطه

قم برفع الصور على السيرفر الخاص بالمنتدى

لان السيرفر الخاص بـhttp://www.imageshack.us/

تقريبا لم يعد يسمح برفع الصور بدون حساب لديهم

هذا ما لاحظته لدى فى صوره التوقيع والملف الشخصى

فرجاء الصور التى رفعتها غير ظاهره لدى

وشكرا

Software Developer
Mahmoudkelany.com


 

#16

تسلم يا أحمد

إضافة بسيطة و هي هذه الأداة للتعامل مع SQLite كما تتعامل مع Access

http://download.cnet.com/Visual-SQLite/3000-10254_4-10407145.html

سبحانك اللهم و بحمدك ، أشهد أن لا إله إلا أنت ، أستغفرك ربي و أتوب إليك

مدونتي

http://www.facebook.com/brmjt

#18

لماذا استخدمها ولا أستخدم Derby مثلاً

أقصد ما الذي يميزها؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#19
علاء الصالحي كتب:

لماذا استخدمها ولا أستخدم Derby مثلاً

أقصد ما الذي يميزها؟

تحياتي

اقتباس

مميزات SQLite

- دعم معظم مقاييس SQL-92 والتي شملت المناقلات قاعدة البيانات والتي تحوي على ثلاثة مميزات Atomicity وتعي قدرة قاعدة البينات على إنجاز كافة المهام أو عدم انجازها بالكامل مثل القدرة على نقل الوادئع بشكل كامل أو فشلها بالكامل بسبب أي سبب من الأسباب.

الميزة الثانية isolated وهي تعني قدرة التطبيق على جعل المناقلة تظهر منفصلة عن بقية العمليات، وهذا يعني أنه لا توجد عملية خارج المناقلة تستطيع باي شكل من الأشكال رؤية البيانات في وسط المناقلة.

الميزة الثالثة durable وهي تعني ضمان أن المناقلات التي تمت بنجاح تبقى حية باستمرار ولا تلغى بسبب فشل النظام، مثال ذلك إذا أخبر نظام قواعد البيانات لحجز الرحلات بأن مقعد ما حجز بنجاح فإن المقعد سيبقى محجوزا حتى لو انهار النظام.

- صغر حجمها.

- سهولة التركيب.

- سهولة نقل البيانات من مزود إلى آخر.

- لا توجد مشاكل بالترميز لا سيما مع اللغة العربية.

- قاعدة البيانات عبارة عن ملف واحد فقط.

- تدعم حجم قاعدة البيانات إلى 2 تيرابايت (2048 جيجابايت) - ماقبل الإصدارة 2.8 كان الحد الأقصى: 2 جيجابايت.

- شيفرة الاتصال والاستعلام بها سهلة (مشابهة لـ MySQL على نحو أبسط).

- يمكن استخدامها على المواقع التي لا تدعم MySQL.

لا استخدم derby من قبل فقط اسمع عنها الخير :) .. هل لها نفس المميزات ؟ :unsure:

تحـيـــــــاتي

2coscqr.jpg
#20
علاء الصالحي كتب:

لماذا استخدمها ولا أستخدم Derby مثلاً

أقصد ما الذي يميزها؟

تحياتي

http://www.sqlite.org/cvstrac/wiki?p=SqliteVersusDerby

بالرغم إنها من جانب sqlite إلا إنها محايدة.

2

سبحانك اللهم و بحمدك ، أشهد أن لا إله إلا أنت ، أستغفرك ربي و أتوب إليك

مدونتي

http://www.facebook.com/brmjt

#21

+1

اخي وصديقي العزيز أحمد سلمت أناملك وبصراحه شرح جداً مفيد happy.gif

بارك الله فيك

تم تعديل هذه المشاركة بواسطة M.Allaw في 24 فبراير 2011 في 09:46


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#22

انا كنت اسمع عنها كتيير .. اتمنى ان استطيع استخدمها فى برامجى ..

ومجهود موفق

تم تعديل هذه المشاركة بواسطة The expendable في 24 فبراير 2011 في 15:15

no-pain-no-gain.jpg

اذا كنت لا تعلم الى اين تذهب... فكــل الطرق تؤدى الى هناك

#23

انا شغال بيها ف برنامج دلوقتى :)

ربنا يسهل لم يخلص هانزله ع طول :D

Software Developer
Mahmoudkelany.com


 

#24
Mahmoud Kelany كتب:

انا شغال بيها ف برنامج دلوقتى :)

ربنا يسهل لم يخلص هانزله ع طول :D

فى انتظاره ... ختى تكتمل الصوره من ناحيه التطبيق ..

no-pain-no-gain.jpg

اذا كنت لا تعلم الى اين تذهب... فكــل الطرق تؤدى الى هناك

#25
The expendable كتب:

فى انتظاره ... ختى تكتمل الصوره من ناحيه التطبيق ..

تم العمل والانتهاء والحمدلله

لكن بقالى فتره بعمل له test وتعديلات واضافات وكدا

وهو المنبه هههههه ودى صورته يا عم

post-217802-085652200%201298592458.png

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 25 فبراير 2011 في 03:09

Software Developer
Mahmoudkelany.com


 

مواضيع مشابهة