مشروع قواعد بيانات من الالف إلى الياء للأجهزة المحمولة
#1
مرشح 0
تم الارسال 29/11/2005 - 05:59 PM
فقد رأيت أنه في المنتدى تطرح الكثير من الاسئلة و لا أجوبة او تكون اجوبة غير شافية
لذا قررت أن يكون هذا البرنامج قاعدة ينطلق منها من ببرمجة البوكت
اتمنى ان تقدم المشاركات و الملاحظات فقط و ان تطرح الاسئلة في مواضيع منفصلة حتى يتم الهدف
و منذ الان فإنني اخبركم بأني لن اعدكم بإتمام المشروع حتى النهاية
فربما تمر ظروف او امور تمنعني من ذلك و لكنني يأقوم بما ييسره الله لي
و منذ الغد إن شاء الله ستكون اول مشاركة عملية
شارك هذا الموضوع
#2
مرشح 0
تم الارسال 30/11/2005 - 10:00 AM
و لكن ما هي قواعد البيانات التي تستخدم على pocket pc هل هي Sql Server ce
ام هناك Access ام يتم الاعتماد على ملفات Xml لتخزين البيانات
هل سوف تستخدم VS.net لعمل التطبيق
سوف اكون معك في هذا المشروع
و إن شاء الله سوف اتعلم كيف يتم برمجة قواعد البيانات على ال Pocket pc
و شكرا لك
و ارجوا الأفادة الى الجميع
#3
مرشح 0
تم الارسال 30/11/2005 - 05:19 PM
برمجة البوكت هي مجال جديد من البرمجة انتشر مع انتشار الاجهزة المتنقلة (Mobile Devices)
لكنها تختلف عن البرمجة العادية بعدة نواح من أهمها اعتبارات الاداء و استهلاك الذاكرة و الحجم المستغل لمساحة التخزين نظرا للإمكانيات المحدودة للأجهزة المتنقلة مقارنة بالحواسيب الشخصي
يضاف إلى ذلك صغر المساحة المتاحة للعرض على الشاشة مما يتطلب دقة في تصميم واجهات البرنامج حتى تستغل كل نقطة على النموذج بأفضل شكل ممكن .
لغات البرمجة :
بشكل عام و بسبب محدودية أنظمة التشغيل المتاحة على الاجهزة المتنقلة لا يمكن تشغيل البرامج التنفيذية التقليدية على الاجهزة المتنقلة لكن توجد عدة لغات برمجة خاصة بالأجهزة المتنقلة من اشهرها :
لغة Embedded C++ و هي المقابل للغة C++ و ما تزال مدعومة من Microsoft و تعتبر من أقوى اللغات في هذا المجال.
لغة Embedded Visual Basic و هي المقابل للغة البرمجة Visual Basic تعتبر من اللغات السهلة
و البسيطة لإنشاء تطبيقات الاجهزة الجوالة . لكن توقف دعم هذه اللغة من Microsoft أي انه لن تطرح
اية اصدارات أو تحديثات لها
و قد اتاحت Microsoft هاتين اللغتين بشكل مجاني منذ فترة قريبة .
تقنية .Net : بإصدار Microsoft لـ .NET Framework حدثت ثورة في مجال تطوير البرمجيات
و قد طالت هذه الثورة مجال تطوير برامج الأجهزة المتنقلة حيث اطلقت Microsoft بعد فترة من اصدارها إطار العمل الخاص بالحواسيب الشخصية , اطارا خاصا بالإجهزة المتنقلة يدعى .NET Compact Framework او اختصاراً .NET CF , اتاح هذا الاطار لمبرمجي Visual Studio .NET إمكانية تطوير تطبيقات للأجهزة المتنقلة , فقد اتاحت Microsoft على موقعها تحديثا يمكن مبرمجي VS.NET 2002 من تطوير هكذا برمجيات و من ثم جاء VS.NET 2003 متضمنا لإمكانية تطوير برمجيات الاجهزة المتنقلة
و الان يأتي VS.NET 2005 مرفقا بالاطار .NET Compact FrameWork في اصدارته الثانية
و التي تعد بكثير من المزايا.
قواعد البيانات المتاحة :
يمكن تخزين البيانات على الاجهزة المتنقلة بعدة صيغ ابسطها تخزين البيانات في ملفات نصية
كما يمكن استخدام ملفات XML و قد قدمت Microsoft مع اصدارة ُEmbedded Studio أي(EVB+EC)
نسخة خاصة من ADO تدعى ADOCE و هي نسخة سهلة الاستخدام تتيح الكثير من الامكانيات لكن الدعم الخاص بها قد توقف أيضا , بعد ADOCE جاء اطلاق Microsoft لـ SQL SERVER CE
و التي كما يتضح من اسمها نسخة خفيفة من SQL SERVER و بإمكانيات محدودة لكنها تمتلك من المزايا ما يكفي لتطوير تطبقات كبيرة نسبيا حيث ان حجمها قد يصل إلى 2 جيغا بايت , و يبدأ دعم SQL CE بدأاً من
الاصدارات Window Pocket 2000 و Windows CE 3 , و يرفق VS.NET 2003 بالاصدار
SQL SERVER CE 2 , و مع إصدار VS.NET 2005 صدرت النسخة الثالثة و التي أصبحت تدعى
SQL SERVER MOBILE .
ملاحظة : لم اتطرق إلى إلى برمجة أجهزة PALM حتى لا يطول الموضوع إضافة إلى ما تعانيه برمجة PALM من صعوبات فمثلا لا يجب أن يتجاوز حجم التطبيق 64 KB و بالتالي يجب تقسيم التطبيقات الكبيرة إلى أجزاء.
سيعتمد المشروع على Visual Basic .NET 2003
و على قواعد البيانات SQL SERVER CE 2
لسببين
الأول أن الإصدارات الجديدة لا يملكها كل الناس
الثاني : أنني ما أزلت استكشف الجديد في تلك الاصدارات
#4
مرشح 0
تم الارسال 01/12/2005 - 05:55 PM
للبدء بالمشروع لابد من تنصيب SQL SERVER CE 2 على الجهاز المتنقل
يتم هذا بطريقتين :
الأولى : عندما تنشأ مشروعا يعتمد على قواعد البيانات في VS.NET 2003 فإنه وعند ترجمة التطبيق
و من ثم نشره من خلال مربع اختيار وجهة نشر التطبيق فإن VS.NET يقوم بتفحص الهدف الذي سينشر إليه التطبيق فإذا لم تكن قاعدة البيانات موجودة يتم تنصيبها طبعا يحث هذا فقط في المرة الأولى لنشر البرنامج
قلنا ان هذا يحدث عند انشاء مشروع يعتمد على قواعد البيانات
اذا كيف اجعل مشروعي يعتمد على قواعد البيانات ؟
يتم ذلك عن طريق استيراد فضاء الاسماء System.Data.SqlServerCe إلى المشروع
و يتم ذلك كما يلي اذهب إلى القائمة Project ثم انقر على Add Reference بعد ذلك
اختر System.Data.SqlServerCe

الان افتح شيفرة برنامجك و اكتب في ترويسة الشيفرة
Imports System.Data.SqlServerCe
تهانينا لقد أصبح برنامجك قادرا على التعامل مع قواعد البيانات
الطريقة الثانية للتنصيب :
في الدرس القادم
تم تعديل هذه المشاركة بواسطةwalcom: 20/09/2007 - 03:33 PM
سبب التعديل: تعديل ترتيب علامات [img] و [/img]
#5
مرشح 0
تم الارسال 05/12/2005 - 07:08 PM
كيف أنشأ قاعدة بيانات و استعرض جداولها على البوكت
لإنشاء قاعدة بيانات نكتب ما يلي في البرنامج
Dim as filePath as string ="\My Documents\BookStores.sdf"
Dim eng As SqlCeEngine
Try
eng = New SqlCeEngine("Data Source=" & filePath)
eng.CreateDatabase()
Return True
Catch e As SqlCeException
MessageBox.Show("فشلت عملية إنشاء القاعدة" & Convert.ToChar(13) & filePath, "", _ MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1)
Finally
eng.Dispose()
End Tryللتأكد من إنشاء القاعدة اذهب إلى المسار المحدد و ستجد ملفا له الاحقة
sdf
هو ملف القاعدة لكنك لن تجد شيئا بداخله حيث أننا لم ننشأ الجداول بعد
تم تعديل هذه المشاركة بواسطةبن العيد: 19/12/2007 - 06:34 PM
#6
مرشح 0
تم الارسال 06/12/2005 - 06:23 PM
الان علينا ان ننشا الجداول و الحقول في قاعدتنا
باختصار إليكم المثال التالي المبني بالسي شارب و تحويله إلى فيجوال سهل
و الذي
يقوم بإنشاء قاعدة و تحميل البيانات إليها من ملف XML
بعد هذا الدرس اصبح بإمكاننا إنشاء القاعدة و الجداول فيها
في الدرس القادم سنبدأ بتحليل البرنامج و تصميم قاعدته
لكنني آمل أن يشاركني الأخوان فأنا أحس كأنني في هذا المنتدى
أكلم نفسي
يا إخوان شاركوا تفاعلوا و لا تنتظروا مني أن أقدم لكم كل شيء
ملف مرفق(ملفات)
-
Example.zip (22.5كيلو )
عدد مرات التحميل : 1376
#7
مرشح 0
تم الارسال 24/12/2005 - 07:34 PM
لكن اعذروني بضعة ايام فلقد اقترب موعد تسليم
برنامجي جدا جدا و انا اعمل ليل نهار
لكن سأحاول ان اقدم بعض المقالات
ريثما اتمكن من التفرغ لكتابة الدروس
المقال التالي يشرح كيفية تنصيب SQL SERVER CE
ملف مرفق(ملفات)
-
Installing_SQL_Server_2000_for_Windows_CE.pdf (320.47كيلو )
عدد مرات التحميل : 2236
#8
مرشح 0
تم الارسال 01/02/2006 - 10:21 PM
سنتابع في هذا الدرس ما بدأناه سيكون هذا الدرس صغيرا لكن أعدكم بدءا من الدرس القادم ستكون المقالات اكثر توسعا و تفصيلا
سيكون برنامجنا عبارة عن دليل للهاتف يمكن من خلاله حفظ و تعديل و حذف المشتركين إضافة إلى إمكانية البحث بحسب الرقم أو الاسم أو الكنية
الفكرة بسيطة لكنها تحوي العناصر الأساسية لبرامج قواعد البيانات من تخزين و تعديل و حذف و بحث
كنت أود ان تكون الفكرة أكبر لكن هذا جيد لكم كبداية
اذا ستتألف قاعدتنا مما يلي :
جدول لحفظ المشتركين و أرقامهم و عناوينهم
جدول لحفظ المحافظة و رمزها الهاتفي
الجدول الأول
سيكون اسم الجدول PhoneBook و سيتألف من الحقول التالية :
UserID : رقم متسلسل للمشترك طبعا لم استخدم رقم الهاتف كحقل فريد لإننا نريد حفظ الارقام على مستوى عدة محافظات
و بالتالي قد تتكرر الارقام .
UserFirstName الاسم الاول للمشترك
UserLastName كنية المشترك
UserFatherName اسم والد المشترك
UserPhoneNumber رقم هاتف المشترك
UserState محافظة المشترك
UserAddress عنوان المشترك
الجدول الثاني :
سيكون اسم الجدول States و سيتألف من الحقول التالية :
StateCode : رمز المحافظة
StateName : اسم المحافظة
#9
مرشح 0
تم الارسال 01/04/2006 - 06:56 AM
الان فلنقم بانشاء قاعدة البيانات :
تقوم الدالة التالية بانشاء قاعدة البيانات حيث انه ما علينا إلا ان نمرر لها المسار الذي سيتم إنشاء القاعدة فيه
طبعا قاعدة البيانات SQL SERVER CE 2.0 هي عبارة عن ملف يملك الاحقة (SDF) .
Public Function CreateDB(ByVal filePath As String) As Boolean
Try
If File.Exists(filePath) Then
File.Delete(filePath)
End If
Catch ex As Exception
MessageBox.Show("Can not Delete" & filePath)
End Try
Dim eng As SqlCeEngine
Try
eng = New SqlCeEngine("" & filePath)
eng.CreateDatabase()
Return True
Catch ex As Exception
MessageBox.Show("Can not Create the Database" & filePath)
Return False
Finally
eng.Dispose()
End Try
End Functionملاحظة : لا تنس استيراد فضاءات الأسماء التالية :
Imports System.IO
Imports System.Data.SqlServerCe
ملاحظة : في SQL SERVER MOBILE (النسخة الأحدث من SQL SERVER CE 2.0) يمكنك انشاء القاعدة و استعراضها و إدخال بيانات إليها و اختبار الاستعلامات على كمبيوترك الشخصي من خلال بيئة VS.NET .
ملاحظة : تمتاز SQL SERVER CE 2.0 بما يلي :
- إمكانية إنشاء 249 فهرس لكل جدول , و يمكن فهرسة اكثر من عمود
- يمكن ان تصل سعة قاعدة البيانات إلى 2GB
- يمكن إنشاء 255 عمود في الجدول الواحد
- يمكن ان يصل طول الاسماء فيها إلى 128 محرف
- تدعم قيم NULL
- دعم DML و DDL
- يوجد 17 نوع للبيانات بما فيها انواع يونيكود و GUID
- يوجد مفاتيح رئيسية و ثانوية
الان اصبح بإمكاننا انشاء قاعدة البيانات في الدرس القادم سنتعلم كيف ننشأ الجداول ضمن القاعدة
#10
مرشح 0
تم الارسال 01/06/2006 - 12:58 PM
بصراحة انا توقفت عن الدروس بشكل مقصود
كان ذلك بدافع آخلاقي مني ( و ليس لأسباب أخرى حيث لا يوجد ما يمنعني ) تجاه شركتي السابقة في سوريا
و حتى لا يفسر أي شخص نيته سيئة ان طرحي لهذه الدروس هو بدافع الاساءة لشركتي السابقة حيث انها تعمل في هذا المجال
و خاصة ان اخر تطبيق كتبته لها كان في مجال موضوعنا هذا
لكن إن شاء الله سأعود لاستئناف هذه الدروس فأنا لم اقدم سوى رؤوس الاقلام و لا اعتبر نفسي إلا في مقدمة الموضوع الان
لذا سأعود و بشكل موسع اكثر بكثير مما كنت انوي طرحه
لكن بعد مدة اظن بأنها ستكون شهر او اكثر بقليل
#11
مرشح 0
تم الارسال 19/07/2006 - 01:12 PM
اتوقع انكم اصبحتم متآلفين اكثر مع تطبيقات البوكت
قررت اعادة تنظيم العمل لذا الان سنبدأ المشروع بشكل عملي
شغل VB.NET 2003 و قم بإنشاء مشروع بوكت جديد قم بتسميته PhoneBook
سيظهر لك نموذج لا تقم بتغيير قياساته ابدا , سيكون نموذجنا الاساسي في المشروع , قم بضبط خاصيات النموذج كما يلي :
Name = MainForm Text = Phone Book
قم بإضافة Class جديد للمشروع و قم بتسميته بـ DB.vb سنحصر في هذا الـ Class العمليات الاساسية على القاعدة مثل إنشاء القاعدة حتى تكون الامور منظمة واكثر وضوحا .
قم باستيراد فضائي السماء
Imports System.IO Imports System.Data.SqlServerCe
إلى الـ Class
الان نضيف متحولا نجزن فيه مسار القاعدة كالتالي :
Public Shared DBPath As String = "\my documents\PhoneBook.sdf"
الان نقوم بكتابة الدالة التي تقوم بإنشاء القاعدة (يمكنك ان تجعلها اجرائية Procedure اذا احببت لكنني نادرا ما استخدم الاجرائيات و افضل الدوال Functions عليها لعدة اسباب)
سيكون اسم الدالة CreateDB و ستكون كما يلي :
Public Shared Function CreateDB(ByVal filePath As String) As Boolean
Dim result As Boolean = False
Try
If File.Exists(filePath) Then
File.Delete(filePath)
End If
Catch ex As Exception
MessageBox.Show("Can not Delete" & filePath)
End Try
Dim eng As SqlCeEngine
Try
eng = New SqlCeEngine("Data Source=" & filePath)
eng.CreateDatabase()
result = True
Catch ex As Exception
MessageBox.Show("Can not Create the Database" & filePath)
Finally
eng.Dispose()
End Try
Return result
End Functionنعود الان إلى MainForm , قم باستيراد فضاء الاسماء : Imports System.IO
استدعينا فضاء الاسماء السابق لانه يتيح لنا التعامل الملفات و منها ملفات قاعدة البيانات حيث سنستخدم هذا الفضاء في عدة عمليات كالتحقق من وجود ملف القاعدة و حذفه
الان فلنتصور البرنامج : عند تشغيل البرنامج يجب ان يتم تحميل البيانات من قاعدة البيانات لكن اذا لم تكن القاعدة موجودة يجب ان نسأل المستخدم اذا ما كان يرغب بإنشاء قاعدة بيانات جديدة اذا وافق المستخدم يتم إنشاء القاعدة و يفتح البرنامج و إلا يتم الخروج من البرنامج , اذا خطوتنا الاولى هي التحقق من وجود قاعدة البيانات .
اذهب إلى MainForm و انقر عليه نقرة مضاعفة ستنتقل إلى محرر الشيفرة
عند حدث تحميل النموذج سنكتب هنا الشيفرة التي تتحقق من وجود القاعدة و إلا سنسأل المستخدم اذا ما كان يرغب بإنشاء قاعدة جديدة
سيكون الكود كالتالي :
Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
If (Not File.Exists(DB.DBPath)) Then
If (MessageBox.Show("No DB" + vbCrLf + "Would you like To Create one", "DB not found", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = DialogResult.Yes) Then
If (DB.CreateDB(DB.DBPath)) Then
MessageBox.Show("The DB created successfuly")
Else
Application.Exit()
End If
Else
Application.Exit()
End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Application.Exit()
End Try
End Subغدا سنكمل إن شاء الله
ملف مرفق(ملفات)
-
PB1.zip (14.82كيلو )
عدد مرات التحميل : 464
#12
مرشح 0
تم الارسال 23/07/2006 - 05:48 PM
الان و في هذا الدرس و بعد ان تم إنشاء القاعدة بنجاح يجب ان نقوم بإنشاء الجداول ضمن هذه القاعدة سبق و شرحت الحقول المطلوبة في مشاركة سابقة لذا سنقوم بإنشاء الدالة التي تقوم بإنشاء الجداول
لكن كما في قاعدة بيانات في الدوت نت يجب ان يكون هناك كائن اتصال يربطنا بالقاعدة المنشأة لذا سنقوم بإضافة الكائن الاتصال objCon الذي يمكننا من الرتباط بالقاعدة بعدها يمكن ان نرسل اومر إنشاء جداول للقاعدة من خلاله
اذهب إلى الـ Class الذي سميناه DB و اضف كائن الاتصال كما يلي :
Public Shared objCon As New SqlCeConnection("Data Source=" & DBPath)هنا حددنا ان كائن الاتصال سيرتبط مع القاعدة التي خزنا مسارها في المتحول DBPath
الان فلنقم بإنشاء دالة اسمها CreateDBTables تعيد قيمة من نوع Boolean من خلالها نقوم بإنشاء الجداول في القاعدة
سيكون لدينا متحولان من نوع String الاول : strUserTB سنضع فيه عبارة SQL لإنشاء الجدول Users
أما الثاني strStatesTB سنضع فيه عبارة SQL لإنشاء الجدول States
كما اننا سننشأ كائن SqlCeCommand من خلاله نقوم بتمرير و تنفيذ الاوامر المخزنة في المتحولين السابقين
Public Shared Function CreateDBTables() As Boolean
Dim result As Boolean = False
Try
' Create Users Table
Dim strUserTB As String
strUserTB = "Create Table Users ("
strUserTB &= "UserID int primary Key"
strUserTB &= ", UserFirstName nvarchar(10)"
strUserTB &= ", UserLastName nvarchar(10)"
strUserTB &= ", UserFatherName nvarchar(10)"
strUserTB &= ", UserPhoneNumber nvarchar(10)"
strUserTB &= ", UserState int"
strUserTB &= ", UserAddress nvarchar(100)"
strUserTB &= ")"
Dim objCmd As New SqlCeCommand
objCmd.Connection = objCon
objCmd.CommandText = strUserTB
objCmd.ExecuteNonQuery()
' Create States Table
Dim strStatesTB As String
strStatesTB = "Create Table States ("
strStatesTB &= "StateCode int primary Key"
strStatesTB &= ", StateName nvarchar(15)"
strStatesTB &= ")"
objCmd.CommandText = strStatesTB
objCmd.ExecuteNonQuery()
result = True
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Return result
End Functionالان سيصبح الـ Class بالشكل التالي :
Imports System.IO
Imports System.Data.SqlServerCe
Public Class DB
#Region "Parameters"
Public Shared DBPath As String = "\my documents\PhoneBook.sdf"
Public Shared objCon As New SqlCeConnection("Data Source=" & DBPath)
#End Region
Public Shared Function CreateDB(ByVal filePath As String) As Boolean
Dim result As Boolean = False
Try
If File.Exists(filePath) Then
File.Delete(filePath)
End If
Catch ex As Exception
MessageBox.Show("Can not Delete" & filePath)
End Try
Dim eng As SqlCeEngine
Try
eng = New SqlCeEngine("Data Source=" & filePath)
eng.CreateDatabase()
result = True
Catch ex As Exception
MessageBox.Show("Can not Create the Database" & filePath)
Finally
eng.Dispose()
End Try
Return result
End Function
Public Shared Function CreateDBTables() As Boolean
Dim result As Boolean = False
Try
' Create Users Table
Dim strUserTB As String
strUserTB = "Create Table Users ("
strUserTB &= "UserID int primary Key"
strUserTB &= ", UserFirstName nvarchar(10)"
strUserTB &= ", UserLastName nvarchar(10)"
strUserTB &= ", UserFatherName nvarchar(10)"
strUserTB &= ", UserPhoneNumber nvarchar(10)"
strUserTB &= ", UserState int"
strUserTB &= ", UserAddress nvarchar(100)"
strUserTB &= ")"
Dim objCmd As New SqlCeCommand
objCmd.Connection = objCon
objCmd.CommandText = strUserTB
objCmd.ExecuteNonQuery()
' Create States Table
Dim strStatesTB As String
strStatesTB = "Create Table States ("
strStatesTB &= "StateCode int primary Key"
strStatesTB &= ", StateName nvarchar(15)"
strStatesTB &= ")"
objCmd.CommandText = strStatesTB
objCmd.ExecuteNonQuery()
result = True
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Return result
End Function
End Classفي النموذج الرئيسي كنا قد و ضعنا في حدث تحميل النموذج الشرط الذي يتفحص القاعدة فإذا لم تكن موجودة يقوم بإنشائها , سنعدل قليلا و سنضيف بعد إنشاء القاعدة إنشاء الجداول و سيصبح حدث تحميل النموذج كالتالي:
Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
If (Not File.Exists(DB.DBPath)) Then
If (MessageBox.Show("No DB" + vbCrLf + "Would you like To Create one", "DB not found", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = DialogResult.Yes) Then
If (DB.CreateDB(DB.DBPath)) Then
' Open the connection with the DB
DB.objCon.Open()
' Create The Tables In The DB
If (DB.CreateDBTables()) Then
MessageBox.Show("The DB created successfuly")
End If
Else
Application.Exit()
End If
Else
Application.Exit()
End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Application.Exit()
End Try
End Subالان اصبح برنامجنا قادرا على إنشاء قاعدة بيانات تتضمن جدولين في الدرس القادم سأشرح كيف نتعامل مع هذه القاعدة من خلال Query Analyzer
الذي ينصب مع SQL SERVER CE 2.0 مع شرح لطرق ادارة القاعدة و الاستعلامات عليها من خلاله إضافة لشرح بعض المشاكل و المحدوديات التي قد تواجهك عند استخدام SQL SERVER CE 2.0 (و التي حل معظمها في الاصدار SQL Mobile 3.0)
ملف مرفق(ملفات)
-
PB2.zip (16.56كيلو )
عدد مرات التحميل : 402
تم تعديل هذه المشاركة بواسطةTammam Koujan: 23/07/2006 - 05:52 PM
#13
مرشح 0
تم الارسال 25/07/2006 - 02:35 PM
فإنه و عند ضغطك على F5 (أي تنفيذ برنامجك من خلال بيئة التطوير ) ستقوم VS.NET بتفحص المحاكي ( اذا كنت تستخدمه لاختبار التطبيقات) أو جهاز البوكت (اذا كنت تستخدم الجهاز لاختبار التطبيقات) و تقوم بتنصيب الملفات الضرورية اذا لم تكن موجودة و منها SQL SERVER CE 2.0
ملاحظة مهمة جدا : ذكرت ان VS.NET تقوم بتفحص الهدف الذي ستختبر عليه برنامجك حتى تنصب الملفات الضرورية اذا لم تكن موجودة و هذا يشمل بشكل اساسي SQL SERVER CE 2.0 و .NET Compact Framework أيضا , لكن عليك ان تنتبه انك تعمل في بيئة تطوير و العميل الذي تكتب له البرنامج قد لا يملك SQL SERVER CE 2.0 و .NET Compact Framework منصبين على جهازه لذا يجب ان ترفق مع برنامجك كلا من ملفات تنصيب SQL SERVER CE 2.0 و .NET Compact Framework
الان و بعد تنصيب SQL SERVER CE 2.0 سنتعلم اليوم عن برنامج مهم يتم تنصيبه عند تنصيب SQL SERVER CE 2.0 يدعى هذا البرنامج Analyzer Query , و اذا كنت تعمل على MS SQL Server فإنك ستجد بأنه نسخة مصغرة عن Analyzer Query الموجود في MS SQL Server لكن مع الكثير من المحدوديات لكن هناك بعض الميزات الاضافية

الان لتشغيل Analyzer Query عليك ان تقوم بما يلي :
1 – انقر قائمة إبدأ Start
2 – انقر إلى البرامج Prgrams

ابحث عن برنامج Analyzer Query كما في الصورة ثم انقر عليه

نلاحظ ان Analyzer Query يتألف من شريط ادوات في الاعلى يتضمن قائمتين و مجموعة ازرار تختلف بحسب المكان الذي نحن فيه , كما نجد انه يوجد للبرنامج اربع صفحات تبويب هي
Objects : من خلال هذه الصفحة يمكنك استعراض قواعد البيانات التي تم فتحها من سابق (يقوم Analyzer Query بإضافة كل قاعدة بيانات تم فتحها إلى العقدة Databases و يتم حذف القاعدة من العقدة عند حذفها أو نقلها من المكان التي كانت محفوظة فيه) يمكنك من خلال هذه الصفحة ان تستعرض اية قاعدة بيانات و جداولها و اعمدة هذه الجدوال و الفهارس كما يمكنك في هذه الصفحة ان تعدل في القاعدة كأن تضيف جدولا جديدا مثلا .
SQL : من خلا هذه الصفحة يمكنك كتابة و تنفيذ استعلامات SQL التي ترغب بتطبيقها لاختبار القاعدة او لاختبار استعلام معين قبل ان تضعه ببرنامجك
Grid : في هذه الصفحة تظهر نتائج الاستعلام الذي كتبته في الصفحة SQL
Notes : في هذه الصفحة تظهر ملاحظات على العملية التي قمت بها على القاعدة كالملاحظات الناتجة عن الخطأ عند فتح قاعدة بيانات معينة , او الملاحظات الناتجة عند تنفيذ استعلام معين كعدد السطور التي تأثرت بالاستعلام عند نجاحه أو ملاحظات تبين فشل الاستعلام مع معلومات تبين سبب المشكلة في الاستعلام
ملاحظة : قد تلاحظون ان المحاكي الذي اشرح خلاله الدرس يختلف عن المحاكي الخاص بكم حسنا انه ليس المحاكي Emulator Pocket PC 2003 SE الذي يأتي مع VS.NET 2003 افتراضيا (مشكلتي اني اعبث كثيرا و يبدو انه يوجد مشكلة في هذا المحاكي)
المحاكي الذي استخدمه في الدروس هو Windows Mobile Mobile 5.0 Pocket PC Emulator
لكن على اية حال لن يختلف الامر معكم
سنتابع بالتفصيل في الدرس القادم , قد يفشل بعضكم من خلال Analyzer Query في فتح القاعدة التي أنشأناها سابقا لا تقلقوا سنبين هذه المشكلة و نشرح اسبابها في مقدمة الدرس القادم
#14
مرشح 0
تم الارسال 29/07/2006 - 05:00 PM
قلت لكم في الدرس السابق أن بعضكم قد يفشل في فتح القاعدة التي أنشأناها في الدروس السابقة, قبل ان نكمل في شرح Analyzer Query نتوقف قليلا عند موضوع يجب ان يعلمه كل مبرمج Pocket PC
اذهب إلى Start << Programs ثم قم بتشغيل الألة الحاسبة Calculator (لا تقلق لن نتحدث عن كيفية استخدامها) و اكتب فيها اي رقم يخطر ببالك فرضا سنكتب 123 الآن قم بإغلاق الالة الحاسبة بالنقر على الزر X
هل أغلقتها ؟ حسنا أعد تشغيلها من جديد ماذا ستلاحظ ؟
ستجد ان الارقام 123 ما تزال على حالها و ان الالة الحاسبة لم تقم بمحي هذه الارقام عند إغلاقها
في الحقيقة إن نقرك للزر X لم يقم بإغلاق الالة الحاسبة بل قام بطيها Minimize
هل هذه مشكلة في النظام أم اللغة ؟ في الحقيقة لا هذا و لا ذاك لكن بحسب طبيعة نظام التشغيل الذي صمم للعمل بشكل دائم و متواصل فإن الاعتبار الاساسي للبرامج التي تعمل عليه هو أنها ستعمل بشكل دائم لذا فالزر الافتراضي للنموذج هو زر التصغير X و هذا ينطبق على بقية النماذج في البرنامج لذا عليك الانتباه إلى طريقة
التعامل مع النماذج لأن الذاكرة المستهلكة من قبل البرنامج لها أهميتها في تطبيقات الـ Pocket PC
اذا كيف أغلق برنامجي ؟ هنالك عدة طرق أسهلها أن تذهب إلى الخاصية MinimizeBox للنموذج و تضبطها على False عندها سيتحول الزر X للنموذج غلى الزر OK و هو الزر الذي يقوم عمليا بعملية إغلاق النموذج
حسنا ما علاقة كل هذا بموضوعنا ؟ قلت سابقا أن البعض قد لن يستطيع أن يفتح عن طريق Analyzer Query قاعدة البيانات التي أنشأناها في الدروس السابقة
قم بتشغيل آخر برنامج قمنا بكتابته اذا كانت القاعدة غير موجودة سيسألك إن كنت تريد إنشاء قاعدة جديدة انقر على موافق , سيتم إنشاء قاعدة جديدة
انظر إلى شيفرة البرنامج و انتبه للسطر التالي في حدث تحميل النموذج :
DB.objCon.Open()
هذا السطر يعني أننا فتحنا اتصالا مع قاعدة البيانات من خلال الكائن objCon
أغلق (أطو) النموذج الآن بالنقر على الزر X اذهب إلى المجلد My Documents ( على جهاز البوكت و ليس على جهازك الشخصي
ستجد القاعدة PhoneBook التي أنشأناها انقر على القاعدة (عند تنصيب SQL SERVER CE 2.0 يصبح Analyzer Query هو البرنامج الافتراضي الذي تفتح به ملفات sdf)
حالما تنقر على القاعدة ستظهر لك الصورة التالية :
هذه الرسالة تعني أنه لن تتمكن من فتح القاعدة لأن برنامجا آخر يتصل بها , و هذا صحيح لأن البرنامج PhoneBook ما يزال يعمل (هو مطوي الان) و ما يزال الاتصال قائما بينه و بين القاعدة , و في الاصدارة 2.0 من SQL SERVER CE لا يمكن فتح سوى إتصال واحد بقاعدة البيانات و اذا اراد برنامج التصال بالقاعدة لابد من قطع اية اتصال يستخدمه برنامج آخر , هذه المشكلة من محدوديات SQL SERVER CE و التي تم حلها في الاصدارة SQL SERVER MOBILE
الان لإغلاق الاتصال لابد من إغلاق برنامجنا فعليا ذكرنا سابقا كيف يتم ذلك من خلال خاصيات النموذج
كما انه يمكن ان نضع زر و نكتب فيه Application.Exit()
لكن برنامج الان مطوي و لا يمكن الوصول إليه لإغلاق برنامجك و تفريغه من الذاكرة قم بما يلي : انقر Start << SETTING إذهب إلى الصفحة System و
انقر غلى الايقونة Memory ثم اذهب للصفحة Running Programs
ستشاهد جميع البرامج التي تعمل (مثل Task Manager في ويندوز)
حدد PhoneBook و انقر Stop عندها سيتم إغلاق البرنامج (تطرقت لهذه الناحية بشكل مقصود أيضا لتعرف كيف توقف البرنامج اذا ما واجهتك مشاكل)
الان عد و انقر على القاعدة ستجد أنها ستفتح بنجاح
ملاحظة مهمة :نفس الفكرة تنطبق على Analyzer Query لن يستطيع برنامجنا الاتصال بالقاعدة ما دامت متصلة بـ Analyzer Query لذا عليك أن توقف هذا الاتصال إما من خلال إغلاق Analyzer Query من
خلال القائمة Tools الامر Exit أو النقر على الزر
تذكر ان مشكلة الاتصال الوحيد بالقاعدة تم حلها في SQL SERVER MOBILE
نلتقي في الدرس القادم
تم تعديل هذه المشاركة بواسطةTammam Koujan: 29/07/2006 - 05:11 PM
#15
مرشح 0
تم الارسال 30/03/2007 - 06:20 PM
Tammam Koujan, on Jun 1 2006, 11:58 AM, said:
بصراحة انا توقفت عن الدروس بشكل مقصود
كان ذلك بدافع آخلاقي مني ( و ليس لأسباب أخرى حيث لا يوجد ما يمنعني ) تجاه شركتي السابقة في سوريا
و حتى لا يفسر أي شخص نيته سيئة ان طرحي لهذه الدروس هو بدافع الاساءة لشركتي السابقة حيث انها تعمل في هذا المجال
و خاصة ان اخر تطبيق كتبته لها كان في مجال موضوعنا هذا
لكن إن شاء الله سأعود لاستئناف هذه الدروس فأنا لم اقدم سوى رؤوس الاقلام و لا اعتبر نفسي إلا في مقدمة الموضوع الان
لذا سأعود و بشكل موسع اكثر بكثير مما كنت انوي طرحه
لكن بعد مدة اظن بأنها ستكون شهر او اكثر بقليل
جزاك الله عنا خير الجزاء
وانا شاء الله احنا مستنين تكمله موضوعك لانه هادف جدا
اخوك عبيد عاطف عبيد من مصر
#17
مرشح 0
تم الارسال 10/04/2007 - 10:30 AM
ومنتظرين تكملة المشروع
بس هل ممكن تشرح كيفية تحميل SQL Server CE
على الــ PDA + تحميل الــ Compact FrameWork
#18
مرشح 0
تم الارسال 20/05/2007 - 07:41 PM
أخي تمام كوجان ، من خلال تقديمك للدرس
Quote
الدرس واضح جدا ، هذا من جانب المحاكي -- F5 --
لكن كيف لي أن أقوم بتنصيب البرنامج على جهاز البوكات حيث أنني لا أجد طريقة لتجميع البرنامج Publiching أو إنشاء Setup
و هل يمكن أن أعتبر المبايل أحد أجهزة البوكات. والمنطق نعم . لكن سمعت الكثير عن عدم VB.Net من عدم قدرته على برمجة المبايلات
#19
مرشح 0
تم الارسال 19/07/2007 - 03:37 PM
Quote
Quote
على الــ PDA + تحميل الــ Compact FrameWork
بإمكانك تحميلSQL Server 2000 Windows C Edition version 2.0 من هنا وقم بتنصيبه بالشكل المعتاد في حاسوبك
ومراحل التنصيب مشروحة في الملف المرفق في إحدى المشاركات السابقة
التنصيب يكون في الحاسوب وليس حاسوب الكف
#20
مرشح 0
تم الارسال 24/12/2007 - 05:28 PM
ماذا لو ارادنا تحويل البيانات من sql server ce الى sql server
اى هل يمكن ربط البوكيت ب sql server 2000
شكرا


مساعدة


اذهب للاعلى
اقتباس متعدد











