منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مشروع انشاء قاعدة بيانات sqlite
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
لإنشاء قاعدة بيانات SQLite باستخدام الكود، يمكنك اتباع الخطوات التالية بلغة C# كمثال. سأقدم لك كودًا يتضمن إنشاء قاعدة بيانات SQLite جديدة وإنشاء جدول بها. للقيام بذلك، يجب عليك استخدام مكتبة System.Data.SQLite التي توفر الدعم اللازم للتعامل مع قواعد البيانات SQLite في C#.

الخطوات:
تثبيت مكتبة SQLite: تأكد أولاً من تثبيت مكتبة System.Data.SQLite من NuGet Packages إذا لم يكن مثبتًا بالفعل. يمكنك القيام بذلك من خلال Visual Studio باتباع الخطوات التالية:

انقر بزر الماوس الأيمن على مشروعك في Solution Explorer.
اختر "Manage NuGet Packages".
ابحث عن "System.Data.SQLite".
حدد الحزمة وانقر على "Install".

شرح الكود:
يتم تعيين مسار قاعدة البيانات databasePath حيث سيتم إنشاء ملف example.db.
يتم التأكد من وجود مجلد القاعدة البيانات وإنشاؤه إذا لم يكن موجودًا.
يتم إنشاء الاتصال بقاعدة البيانات وإنشاء جدول بسيط يسمى Employees يحتوي على حقول Id (رقمية رئيسية متزايدة تلقائيًا)، Name (نص غير فارغ)، و Age (رقم صحيح).
يتم استخدام SQLiteCommand لتنفيذ استعلام إنشاء الجدول.
يتم إغلاق الاتصال بعد إنشاء الجدول.
يعرض رسالة بأن الجدول قد تم إنشاؤه بنجاح.
ملاحظات إضافية:
تأكد من تعيين مسار databasePath بشكل صحيح لمكان تخزين قاعدة البيانات على جهاز الكمبيوتر الخاص بك.
يمكنك تعديل استعلام إنشاء الجدول createTableQuery حسب الحقول والأنواع التي ترغب في استخدامها.
تأكد من تثبيت مكتبة System.Data.SQLite والتي تتوفر عادةً من خلال NuGet Packages كما تم شرحها سابقًا.
باستخدام هذا الكود، يمكنك إنشاء قاعدة بيانات SQLite جديدة وجدول داخلها بنجاح. تأكد من تعديل المسار وهيكل الجدول حسب احتياجات التطبيق الخاص بك.

الكود
PHP كود :
using System;
using System.Data.SQLite;

namespace 
SQLiteExample
{
 
   class Program
    
{
 
       static void Main(string[] args)
 
       {
 
           string databasePath = @"C:\Path\To\Your\Database\example.db"// تعيين مسار قاعدة البيانات

 
           // تأكد من وجود مجلد القاعدة البيانات أو أنشئه إذا لم يكن موجودًا
 
           string folderPath System.IO.Path.GetDirectoryName(databasePath);
 
           if (!System.IO.Directory.Exists(folderPath))
 
           {
 
               System.IO.Directory.CreateDirectory(folderPath);
 
           }

 
           // سلسلة الاتصال
 
           string connectionString = $"Data Source={databasePath};Version=3;";

 
           // إنشاء قاعدة بيانات SQLite جديدة
 
           SQLiteConnection.CreateFile(databasePath);

 
           // افتح الاتصال بقاعدة البيانات
 
           using (SQLiteConnection connection = new SQLiteConnection(connectionString))
 
           {
 
               connection.Open();

 
               // إنشاء جدول بسيط في قاعدة البيانات
 
               string createTableQuery = @"
                    CREATE TABLE [Codes] (
                 "
id"        integer PRIMARY KEY AUTOINCREMENT NOT NULL,
              "
Title"        nvarchar COLLATE NOCASE,
              "
code"        nvarchar COLLATE NOCASE,
              "
description"        nvarchar COLLATE NOCASE

);
                "
;

 
               using (SQLiteCommand command = new SQLiteCommand(createTableQueryconnection))
 
               {
 
                   command.ExecuteNonQuery();
 
                   Console.WriteLine("تم إنشاء الجدول بنجاح.");
 
               }

 
               // إغلاق الاتصال بقاعدة البيانات
 
               connection.Close();
 
           }

 
           Console.WriteLine("Press any key to exit...");
 
           Console.ReadKey();
 
       }
 
   }

شكرا جزيلا اخ kamil على فتح هذا الموضوع
بالنسبة لقواعد sqlite هي افضل بكثير من قواعد بيانات اكسس مع حجم تخزين خرافي يصل الى ٢ تيرا وقد جربتها الان وهي تعمل دون مشاكل على حاسوب بمعيارية 86
ولكن عند محاولة العمل على حواسيب بمعالج 64 بت تظهر عدة اخطاء في الاتصال مع قاعدة البيانات .
قمت باستبدال المكتبة System.Data.SQLite.dll باخرى مخصصة لحواسيب 64 بت دون جدوى .
بحثت ووجدت كلام كثير في المنتديات الاجنبية عن نقل بعض الملفات الى مجلدات النظام وربما اختلط الامر علي ولم ينجح الامر ايضا.ارجو ممن له تجربة في الموضوع ان يضع الطريقة او تخصيص موضوع لحل المشكلة
وبارك الله فيكم وفي هذا الصرح العربي
(23-06-24, 09:58 PM)salamandal كتب : [ -> ]شكرا جزيلا اخ kamil على فتح هذا الموضوع
بالنسبة لقواعد sqlite هي افضل بكثير من قواعد بيانات اكسس مع حجم تخزين خرافي يصل الى ٢ تيرا وقد جربتها الان وهي تعمل دون مشاكل على حاسوب بمعيارية 86
ولكن عند محاولة العمل على حواسيب بمعالج 64 بت تظهر عدة اخطاء في الاتصال مع قاعدة البيانات .
قمت باستبدال المكتبة System.Data.SQLite.dll باخرى مخصصة لحواسيب 64 بت دون جدوى .
بحثت ووجدت كلام كثير في المنتديات الاجنبية عن نقل بعض الملفات الى مجلدات النظام وربما اختلط الامر علي ولم ينجح الامر ايضا.ارجو ممن له تجربة في الموضوع ان يضع الطريقة او تخصيص موضوع لحل المشكلة
وبارك الله فيكم وفي هذا الصرح العربي

أنا لم أعمل أي مشروع من قبل على SqLight
ولكن إن كان بالامكان أرفق مشروع خفيف كمثال حتى أجربه عندي للتأكد من المشكلة 
هل هي من مكونات النظام  لديك أو من المشروع والـSqLight 
فعندي جاهز 64   وكذلك جهاز 32 .. للتجربة عليهن.
(23-06-24, 11:59 PM)Taha Okla كتب : [ -> ]أنا لم أعمل أي مشروع من قبل على SqLight
ولكن إن كان بالامكان أرفق مشروع خفيف كمثال حتى أجربه عندي للتأكد من المشكلة 
هل هي من مكونات النظام  لديك أو من المشروع والـSqLight 
فعندي جاهز 64   وكذلك جهاز 32 .. للتجربة عليهن.

مرفق مشروع صغير مع قاعدة البيانات و المكتبة System.Data.SQLite.dll 
للحصول على النسخة 64 بت يجب تحميل البرنامج التالي 
sqlite-netFx45-setup-bundle-x64-2012-1.0.84.0.exe وحجمه حوالي 8 ميغابت
1 - جربت المشروع واشتغل معي بصيغة 32.

2 - ثم نزلت المكتبة 64 :
وأزلت من المشروع المكتبة القديمة
وأضفت الجديدة وغيرت إعدادات المشروع إلى 64  واشتغل معي البرنامج طبيعي.

وهذا المشروع بعد التعديل لـ x64

المكتبتين 64 / 32  موجودات ضمن مجلدين بجانب الملف التنفيذي 
يمكنك التجريب والتأكد..
(لكن عليك حذف الاصدار القديم أولاً قبل اضافة الآخر (للتذكير) ).

بالتوفيق ..
(24-06-24, 03:30 AM)Taha Okla كتب : [ -> ]1 - جربت المشروع واشتغل معي بصيغة 32.

2 - ثم نزلت المكتبة 64 :
وأزلت من المشروع المكتبة القديمة
وأضفت الجديدة وأغيرت إعدادات المشروع إلى 64  واشتغل معي البرنامج طبيعي.

وهذا المشروع بعد التعديل لـ x64

المكتبتين 64 / 32  موجودات ضمن مجلدين بجانب الملف التنفيذي 
يمكنك التجريب والتأكد..
(لكن عليك حذف الاصدار القديم أولاً قبل اضافة الآخر (للتذكير) ).

بالتوفيق ..

اخ طه يبدو انه مشروع اخر على اكسس وليس نفس المشروع 
كما انه لا وجود للمكتبات المذكورة
يجب اضافة المكتبة الى المشروع غير كاف اضافة ملف DLL

واذا كنت تريد نسخة 64 او 86 ستقوم بتحديدها من compile
(24-06-24, 03:50 PM)Taha Okla كتب : [ -> ]تم تعديل الرابط ..

أخ Taha 
كلمة شكر لن توفيك حقك انت بالفعل ايقونة من ايقونات المنتدى  Idea
غريبة ...؟؟؟؟؟   كان الحل امامي طوال الوقت وكنت اعتقد ان وضع التارجت بروسيسور على وضع AnyCPU يكفي للعمل على معيارية 64 و 32 على السواء  Sad ومن الان فصاعدا يجب تخصيص نسختين من كل برنامج 

بارك الله فيك وجعل الله ما تقدمه لاخوانك ذخرا لك وجعلك ذخرا لوالديك

(24-06-24, 05:41 PM)Kamil كتب : [ -> ]يجب اضافة المكتبة الى المشروع غير كاف اضافة ملف DLL

واذا كنت تريد نسخة 64 او 86 ستقوم بتحديدها من compile

نعم يجب اولا اضافة المكتبة للمشروع لان عدم اضافتها يعطي اخطاء في الكود
أيضاً جربت تنزيل المكتبة من الـ NuGet آخر تحديث (2023)  مع الدوت نت كور8
وأشتغل معي المشروع في الوضعين، 
وله ميزة أنك فقط تغير الـ CPU  بين وضع x86   و x64   
دون الحاجة لتغيير المكتبة الدل.. عكس الاصدارات القديمة لـ SqLite
الصفحات : 1 2