2- استخدام مزود LINQ-to-SQL

4 08 2009

استخدام مزود LINQ-to-SQL لا يختلف كثيرا عن استخدام Dataset الا في بعض الخطوات البسيطة ، كما سنرى الآن :
في البداية ، نقوم بإضافة فئات LINQ-to-SQL وذلك بالتوجه إلى القائمة Project | Add New Project Item ثم اختيار LINQ-to-SQL Classes واعطها الاسم CustomerOrders ، ستظهر امامك نافذة خالية ، سنحتاج ان نقوم بسحب الجداول المطلوبة إلى الجزء الايسر منها من نافذة Server Explorer ، لذلك اذهب إلى نافذة server Explorer وافتح قاعدة البيانات من هناك او اضفها إلى تلك القائمة من خلال الزر Connect to Database . بعد قيامك بهذا ، قم بسحب الجدولين Order,Customers إلى الجزء الايسر من نافذة الـ O/R Designer التي ظهرت قبل قليل ، وستلاحظ انشاء الجدولين هناك على شكل فئات كما بالصورة التالية :

بهذا نكون قد هيئنا فئات LINQ-to-SQL للعمل عليها ، ننتقل الان إلى تصميم النافذة الاولى ، وهي التي تتبع النمط Full Detailed ، سنتوجه بداية إلى النافذة Data Sources ونقوم بإضافة مصدر بيانات جديد لكن انتبه عندما يظهر امامك المعالج اختر الخيار Objects وليس Database كما بالصورة التالية :

وذلك لاننا سنختار ان يكون مصدر البيانات هو الفئات التي ولدها الـ O/R Designer وليس قاعدة البيانات مباشرة .
في المرحلة التالية من المعالج ، اختر الفئة Customer كما بالصورة التالية :

قم بعدها بإنهاء المعالج بالخيار Finish مباشرة ، الآن ستظهر كل حقول الجدول Customer على شكل فئة وخصائص تابعة لها وكذلك فئة فرعية بالإسم Orders وهي تمثل الجدول Orders التابع للجدول Customer بعلاقة من النوع One-to-Many كما بالشكل التالي :

يمكنك الان التعامل مع تلك الفئات مباشرة مثلما عملنا مع Dataset في مرة الماضية ، حيث قم بسحب الفئة customer إلى النافذة على شكل Details ، ثم قم بسحب الجدول Orders التابع لها ايضا إلى النافذة ، هنا سنحتاج إلى خطوة اضافية بسيطة وهي تعبئة الفئة Customer بالبيانات ، حيث ان الفئة الحالية ستكون وكأنها مجرد مخطط لا اكثر نستخدمه في انشاء الادوات والربط بينها بسهولة ، توجه إلى محرر الاكواد واكتب الكود التالي :

Public Class Form1
    
Dim db As New CustomerOrdersDataContext

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _ 
System.EventArgs) Handles MyBase.Load
        
Me.CustomerBindingSource.DataSource = db.Customers

    End Sub

    Private Sub CustomerBindingNavigatorSaveItem_Click(ByVal sender As _ 
System.Object, ByVal e As System.EventArgs) Handles _ CustomerBindingNavigatorSaveItem.Click
        
Me.CustomerBindingSource.EndEdit()
        
Me.db.SubmitChanges()
    
End Sub
End Class

 

الكائن db يمكنك اعتباره ممثل لجداول قاعدة البيانات الموجودة في الـ O/R Designer ويمكنننا من خلاله الوصول إلى الفئات التابعة له ( المقابلة للجداول ) والتحكم بها كما سنرى ،

في الحدث form_load نقوم بإسناد الفئة db.Customers لتكون هي مصد البيانات في الـ CustomersBindingSource ، وفي حدث CustomerBindingNavigatorSaveItem_Click الذي يتم تفجيره بمجرد نقر زر الحفظ نستخدم ذات الكائن ليقوم بإرسال كل التغييرات التي طرأت على البيانات سواءا كانت هذه التغييرات اضافة ، حذف او حتى تعديل بسطر واحد فقط !

بهذا نكون جاهزين لتشغيل التطبيق وتجربة النموذج الجديد !

بناء نموذج من نوع Lookup List :
لا اعتقد انك بحاجه إلى اعادة مجموعة من الاسطر كتبناها في حديثنا عن تطوير نافذة من النوع Lookup List باستخدام dataset ولا اعتقد ايضا انك بحاجه إلى اعادة كتابة سطرين صغيرين كتبناهما قبل حوالي 10 اسطر ! لذلك سأكتفي هنا بعرض المثال مباشرة .





تقنية Microsoft Azure للحوسبة السحابية !

12 02 2009

بدأت تظهر في السنوات الاخيرة تقنية تدعىى بالحوسبة السحابية Cloud Computing ، ولا بد اولا من التعرف على مفهوم الحوسبة السحابية ، وقد استعنت في ذلك بموقع ويكيبيديا العربي :

الحوسبة السحابية هي تكنولوجيا تعتمد على نقل المعالجة ومساحة التخزين الخاصة بالحاسوب إلى ما يسمى السحابة و هي جهاز خادم يتم الوصول اليه عن طريق الانترنت. بهذا تتحول برامج تكنولوجيا المعلومات من منتجات إلى خدمات. من أهم فوائد هذه التكنولوجيا هي إبعاد مشاكل صيانة وتطوير برامج تقنية المعلومات عن الشركات المستخدمة لها و بالتالي يتركز مجهود الجهات المستفيدة على استخدام هذه الخدمات فقط.

تعتمد البنية التحتية للحوسبة السحابية على مراكز البيانات المتطورة و لتي تقدم مساحات تخزين كبيرة للمستخدمين كما انها توفر بعض البرامج كخدمات للمستخدمين. و هي تعتمد في ذلك على الإمكانيات التي وفرتها تقنيات ويب 2.0.

لمزيد من المعلومات حول هذا المفهوم راجع الرابط التالي :

http://en.wikipedia.org/wiki/Cloud_computing

وقد قدمت شركة مايكروسوفت اطار العمل Azure Service Platform ، وهو عبارة عن نظام تشغيل للخدمات السحابية Cloud Services يقوم بحضن ، خدمة ، ادارة ، تشغيل الخدمات العاملة بهذه التقنية . ويمكن بناء تطبيقات وخدمات هذه التقنية ، يمكن استخدام Visual Studio 2008 ولكنها ستكون مدعومة بشكل افضل في النسخة القادمة 2010 .

تدعم هذه التقنية مجموعة من البروتوكولات كـ SOAP,REST,XML وغيرها ، لكن الأجمل في الموضوع ان Windows Azure سيقدم الدعم لبيئات وخدمات مايكروسوفت وغير مايكروسوفت مما يدعو للابتهاج بهذا الخصوص .

ما الفائدة المرجوه من استخدام تقنية Azure ؟

سيمكنك استخدام Windows Azure من اضافة خدمات ويب Web services الى تطبيقاتك الحالية بشكل اسهل ، وبناء وتعديل وتوزيع التطبيقات عبر شبكة ويب بأقل قدر ممكن من الموارد المطلوبة في اجهزة العملاء ، وكذلك سهوله بناء وتعديل خدمات الويب Web Services بسهوله وسرعه وأقل تكاليف ، وتقليل تكاليف مواصفات العتاد والدعم التقني المقدم للعملاء حيث ان كل العمليات الحسابية والتخزينية ستتم على مراكز بيانات متطورة !

الميزة المهمه في هذه التقنية ان تنفيذ التطبيق يتم في السحابة وليس في جهاز المستخدم ، بالتالي تقل المخاطر الامنية وموارد العتاد المطلوبة وغيرها .

للتعرف بشكل افضل واوضح عن هذه التقنية يمكنك زيارة صفحتها الرسمية من الرابط التالي :

http://www.microsoft.com/azure/windowsazure.mspx





تقييم محتويات المدونة

13 12 2008

ارجو منكم المشاركة في الاستفتاء :





استخدام Parameters في ADO.NET لتبادل البيانات مع قاعدة البيانات – الجزء الأول

19 09 2008

السلام عليكم ورحمه الله وبركاته
سنتكلم اليوم عن موضوع مهم في قواعد البيانات والتعامل معها … سنتكلم عن الكائن Parameters التابع لأي فئة Command في اي فئة تتبع فضاء الأسماء Data سواء كانت OleDB او SQL او Oracle … او غيرها من من الفئات والكائنات .
مقدمة :
في أي تطبيق يعتمد على قواعد البيانات ، تبرز أهميه ارسال الباراميترات Parameters الى قاعدة البيانات ، وغالبا ما يتم ذلك عن طريق جمل الإستعلام SQL Statements حتى وقت كتابة هذه المقالة ( قريبا سنستخدم Linqمع VS2008 ) ومنهم من يفضل حفظ الاستعلاما في قاعدة البيانات والاكتفاء بمخاطبتها وارسال الباراميترات اليها واستقبال نواتجها على التطبيق .

 

أقرأ باقي الموضوع »





فيروس في محطة الفضاء !

10 09 2008

الحاسبات المحمولة فى محطة الفضاء الدولية تصاب بفيروس أكدت ناسا (NASA) (وكالة الفضاء و الطيران الأمريكية) ان هناك فيروس قد نجح فى السفر خارج الكوكب ليصيب الحاسبات المحمولة فى محطة الفضاء الدولية. أصاب فيروس من نوع "W32.Gammima.AG" حاسبات محمولة فى محطة الفضاء الدولية و هذا الفيروس يقوم بسرقة معلومات سرية للاعبين على 10 ألعاب الكترونية مختلفة على الانترنت. جدير بالذكر أن مهام المحطة الفضائية لم تتأثر بهذا الفيروس. و قد أعلن المتحدث الرسمى لناسا أنه تم اكتشاف الفيروس (من نوع worm) فى 25 يوليو. و عن نظرية اصابة الحاسب بالفيروس هى انه اصيب به أثناء تحميل البرامج الخاصة به أو انتقل من وحدة تخزين شخصية (flash drive). و من الجيد ان هذا الفيروس يقوم بسرقة معلومات مثل اسم المستخدم و كلمة السر فى بعض الألعاب الالكترونية و هو شىء لا يقوم به رواد الفضاء كثيرا …

المصدر : رسالة في بريدي الالكتروني





جوجل كروم ! مفهوم جديد في متصفحات الويب !

3 09 2008

لقد تفاجأت عندما تهافتت الاخبار على موقع جوجل ومدونته الرسميه حول صدور متصفح جديد ، ولكن هذه المرة من موقع Google واسمه Google Chrome smile_whatchutalkingabout

ما هو جوجل كروم ؟

يُعد Google Chrome متصفحًا تم تطويره لجعل استخدام الويب سريعًا وسهلاً وآمنًا بشكل أكبر من خلال تصميم مبسّط يحل كل مشاكلك

لماذا اصدرت جوجل منتجها الجديد ؟

منذ أكثر من 15 عاما ونحن غالبا ما نقضي، نحن مستخدمي الانترنت، معظم أوقاتنا على متصفح واحد، فنقوم من خلاله بعمليات البحث المختلفة، وارسال البريد الالكتروني، كما نقوم باستغلاله لايجاد فرص للتعاون مع اقراننا بشكل أو بآخر، والاطلاع على الاخبار بالاضافة الى العديد والعديد من الاشياء المثيرة والجديدة التي يبتدعها مستخدمي الانترنت كل يوم.

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

كان نتيجة هذه الفكرة متصفح Google Chrome مفتوح المصدر الذي يتم اليوم اطلاق النسخة التجريبية منه. يعد Chrome متصفح مبسط وسهل الاستخدام. فهو يميل أكثر الى أن يكون أداة لتنظيم الاشياء التي يجدها المستخدمون مهمة مثل صفحات الويب والمواقع الالكترونية التي يفضلونها والتطبيقات المختلفة التي يستخدمونها. فعلى غرار تصميم الصفحة الرئيسية لمحرك البحث Google يعد تصميم Chrome مرتب وسريع فهو يناسب كل المستخدمين ويصل بهم الى حيث يريدون.

ولكن يكمن تحت هذا التصميم المبسط والسهل، متصفح يمكنه أن يقوم بتشغيل تطبيقات الويب المعقدة بمنتهى الكفاءة عن طريق الحفاظ على كل تطبيق معزول في كادر أو نافذة خاصة تمنع تداخل التطبيقات الاخري معها وتزيد من الحماية ضد المواقع المقتحمة أو المتطفلة كما أننا قمنا بتحسين سرعة الاستجابة لـ Chrome عن طريق تحسين أداء اللوحة الرئيسية. بالاضافة الى ذلك فقد قمنا بتحسين أداء محرك الـ JavaScript – V8 – لخدمة الجيل القادم من تطبيقات الويب التي لا تتوافر حتى في متصفحات الانترنت الموجودة على الساحة الآن.

هذه هي مجرد البداية، فنسخة Google Chrome لم تصل بعد لدرجة الكمال، فقد قمنا بإطلاق هذه النسخة التجريبية لمستخدمي نظام التشغيل ويندوز لفتح مجالا أوسع لمناقشة المنتج الجديد والاستماع لارآء المستخدمين في أسرع وقت ممكن خاصة وأننا بصدد انشاء نسخ مماثلة لنظم تشغيل أخرى أمثال MAC و Linux ونحن نعمل جاهدين على أن تكون نسخ أكثر سرعة وفاعلية.

نحن مدينون للكثير من مشاريع المصادر المفتوحة ونحن ملتزمون بالمواصلة على طريقهم. فقد استوحينا مكونات من Apple WebKit و Mozilla’s Firefox وغيرها، لبناء كود خاص بنا للتطبيقات مفتوحة المصدر وأننا لنتطلع لأن نتعاون مع مجتمع الانترنت بأسره من أجل النهوض بمحتواها وتطبيقاتها. فالانترنت وسيلة وبيئة غنية تزداد أهميتها بالمزيد من الخيارات والمزيد من الابتكار وهنا يأتي Google Chrome كإضافة جديدة في بادرة منا لجعل تجربة الانترنت أكثر نفعا وفاعلية.

ميزات Google Chrome :

مربع واحد لكل شيء :

بحث الويب. سِجل الويب. شريط العناوين. إظهار الاقتراحات أثناء الكتابة. ‏‫مربع واحد موحد يفي بكافة متطلبات التصفح التي تحتاجها.‬ اعرف المزيد.

صفحة علامة التبويب الجديدة :

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

اختصارات التطبيقات :

استخدم تطبيقات الويب دون فتح المتصفح الخاص بك. يُمكن لاختصارات التطبيقات تحميل تطبيقات الإنترنت المفضلة لديك مباشرةً. اعرف المزيد.

علامات التبويب الجديدة :

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

السيطرة على الاعطال :

يتم بشكل مستقل تشغيل كل علامة تبويب تستخدمها في المتصفح؛ وبالتالي لا يؤدي تعطل أحد التطبيقات إلى تعطيل كل شيء معه. اعرف المزيد.

وضع التخفي :

هل تريد عدم ظهور الصفحات التي تزورها داخل سِجل الويب الخاص بك؟ اختر وضع التخفي للتصفح الخاص. اعرف المزيد.

التصفح الآمن :

يُحذرك Chrome عند الشروع في زيارة موقع ويب يُشتبه بأنه موقع لسرقة المعلومات الخاصة‬ أو يحتوي على برامج ضارة أو غير آمن. اعرف المزيد.

الاشارات المرجعية الفورية :

هل تريد إضافة إشارة مرجعية لصفحة ويب؟ انقر فقط فوق رمز النجمة الموجود على الطرف الأيمن من شريط العناوين، وستتم بذلك إضافة الإشارة المرجعية لصفحة الويب. اعرف المزيد

استيراد الاعدادات :

عند التحول إلى استخدام Chrome، يمكنك أن تنقل إليه جميع الإشارات المرجعية وكلمات المرور من المتصفح الذي تستخدمه حاليًا. اعرف المزيد.

التنزيلات البسيطة :

لا توجد حاجة لاستخدام برنامج إدارة تنزيلات؛ حيث ستظهر لك حالة التنزيل في أسفل النافذة الحالية. اعرف المزيد.

 

لمعرفة المزيد حول هذا البرنامج انقر هنا ، لتنزيل النسخه التجريبية منه انقر هنا





صدور النسخه Express من Microsoft SQL Server 2008

2 09 2008

في يوم السابع من اغسطس صدرت النسخه Express من Microsoft SQL Server 2008 ولكن المفاجأة الكبرى هذه المرة كانت ان المصطلح Express صار يطلق على عائلة مكونه من ثلاث اصدارات مختلفة ، فهناك SQL Server 2008 Express وهناك SQL Server 2008 Express With Tools وهناك SQL Server 2008 Express With Advanced Services وهذه النسخ صارت تدعم امكانيات وميزات لم تكن تتوفر الا في النسخ التجارية من SQL Server .

بالتأكيد فإن فضولك سيدفعك للمعرفة الفروق بين النسخ الثلاثه ، وسأختصر لك عناء ذلك قدر الإمكان ، بالنسبة للنسخه Express with Tools فهي تأتي مزودة بـ PowerShell Integration و Management Studio Basic والميزة الاخيرة بالذات هي من اروع ما يكون !

بالنسبة للنسخه Express with Advanced Services تتميز عن Express with Tools بدعم كلي لميزة Full Text Search ودعم كبير للـ Reporting Services بما فيه الـ Business Intelligence Studio .

الا ان الخبر المحزن ، ان الاصدارتين Express with Tools, Express With Advanced Services غير متوفرتان حتى الآن وقد يتأخر اصدارهما أكثر !

للمزيد من المعلومات يمكنكم زيارة المدونة الخاصة بـ SQL Server Express :

http://blogs.msdn.com/sqlexpress

ورابط الخبر من موقع مايكروسوفت :

http://www.microsoft.com/presspass/press/2008/aug08/08-06SQLServer2008PR.mspx





إدارة مجموعات الكائنات Managing Objects Groups

24 08 2008

لا يخفى على أي مبرمج اهميه مجموعات الكائنات عندما ترغب بالتعامل مع مجموعة كائنات من النوع ذاته فلا داعي لإنشاء 20 نسخه من ذات الكائن بل الحل بعمل Group والتي قد تكون مصفوفة Array في اغلب الاحوال .

كل من يدرس لغة برمجة او يستخدمها – مهما كان مبتدئا ومعلوماته ضئيلة – اعتقد انه يجب ان يكون ملما بالمصفوفات Arrays والتعامل معها ، ما يدور في هذه المقاله هو شيء مشابه لموضوع المصفوفات ولكن من الزاوية الاعلى ! ( كلام غريب أليس كذلك ! )

يوجد طريقتان رئيستان في VB.NET ( وكذلك #C على حد علمي ) لعمل مجموعة من الكائنات ، الأولى هي عمل مصفوفة Array والطريقة الثانية ( الاكثر مرونة ) هي عمل Collection للكائنات .

الطريقة الأولى : المصفوفات Arrays :

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

الطريقة الثانية : المجموعات Collections :

تمتاز هذه الطريقة بعدم الحاجة لأن يكون لديك عدد ثابت ومحدد من الكائنات ، وفي المقابل فأي Collection هي عبارة عن فئة Class لذلك فيجب علينا ان ننشيء كائنا جديدا من احد انواع الـ Collections حتى تستطيع اضافة العناصر والتعامل معها من خلالها .

أحد الميزات الرئيسية في استخدام الـ collections هو امكانيه اضافة وحذف أي عنصر من الـ Collection في وقت التنفيذ وهي بذلك تقدم مرونة كبيرة جدا نفتقدها في المصفوفات Arrays . الميزة في الـ Collections انه يمكن اعطاء كل عنصر Element في ال Collection مفتاح key معين يرمز إليه ويسهل الوصول اليه مباشرة بعيدا عن حفظ رقم الفهرس index الخاص به كما هو الحال مع المصفوفات Arrays .

الفئات الخاصة بالـ Collections توجد داخل فضاء الأسماء System.Collections ويمكن ان تحتوي كل collection منها على عناصر من انواع مختلفة ، واذا اردت ضمان ان يكون جميع العناصر من نواع واحد معين نحدده فالأفضل استخدام انواع الـ Collections الموجودة في فضاء الأسماء System.collections.Generics والتي ظهرت منذ الاصدار 2005 .





دروس فيديو لتعلم SQL Server Express من مايكروسوفت مجاناً !

19 08 2008

يتخوف أغلب مبرمجي net. الهواة من قواعد بيانات SQL Server والسبب هو الجهل بها والطريقة الغير مألوفة في استخدامها للغالبية مع انها هي ذات الطريقة التي يتم بها التعامل مع انواع قواعد البيانات الاخرى كلها عدا Access !!

وجدت الرابط التالي في موقع ASP.NET التابع لمايكروسوفت هنا يحتوي على دروس فيديو من موقع LearnVisualStudio.com وهي دروس ممتازة للمبتدئين الجادين .

بدأت اغار حقيقة من الدعم المقدم لمطوري ASP.NET من خلال ذلك الموقع من حيث كثرة المقالات والدروس والفيديو والامثلة !!





تعرف على مخترعي اشهر لغات البرمجة

19 06 2008

وجدت الموقع التالي الذي يحتوي على مجموعة من المخترعين لمجموعة مشهورة من لغات البرمجة :

http://www.angelfire.com/tx4/cus/people/

 

موقع جميل فعلا