برجاء تسجيل الإعجاب بالصفحة لتصلك كتاباتي على فيسبوك

المتابعون للمدونة

الأحد، 31 يوليو، 2016

استحالة



لا تَحسَبي أنَّ الأماني جائزةْ = أنا لن أكونَ على الخيانةِ جائزةْ

لا تَغرَقي في الوهمِ، لا تتخيّلي = ما لستِ يوما مِن حناني حائزةْ

مَن يَشتهي بالحمقِ أحلى قُبلةٍ = مِن ثغرِ ذئبٍ ذي نُيوبٍ بارزة؟

كلُّ الذي عشناهُ يومًا قد مضى = ذُوقي إذنْ ما كنتِ يوما خابزةْ!

محمد حمدي غانم، 2016

 


جملة التحديد SELECT Statement



جملة التحديد SELECT Statement:

تمكنك الجملة SELECT من إنشاء اسنعلام SQL يسترجع جزءا من صفوف الجدول.. وأبسط صورة لهذه الجملة هي:
SELECT أسماء الأعمدة
FROM أسماء الجداول
لاحظ ما يلي:
1- جمل SQL غير حساسة لحالة الأحرف، لكن جرى العرف على كتابة كلماتها المفتاحية كاملة بحروف كبيرة Capital على سبيل التمييز، لهذا لو كتبت select فلن تختلف في شيء عن Select ولا عن SELECT.

2- أسماء الأعمدة والجداول يفصل بينها العلامة ",".. مثال:
SELECT Author, Book
FROM    Authors, Books
لاحظ أنك لو جرّبت هذا المثال فستفاجأ بنتائج غريبة، حيث سيتم تكرار كل سجل من سجلات المؤلفين مع كل أسماء الكتب، ممّا يبدو معه كأن كل مؤلف قد ألف كل الكتب!.. هذا خطأ متوقّع، لأننا لم نضع أيّ شرط يوضح طريقة الربط بين حقول الجدولين، وهو ما سنتعلمه بعد قليل.

3- إذا كان اسم الجدول أو اسم الحقل يحتوي على أيّ رموز غير مقبولة برمجيّا (مثل المسافات أو العلامات ":" أو "+" أو "=" ... إلخ) فيجب وضعه بين قوسين مضلعين [ ].. وعامة، يمكنك وضع اسم أي جدول أو اسم أي حقل بين قوسين مضلعين.. مثال:
SELECT [Author], [Book]
FROM    [Authors], [Books]

4- إذا تشابهت بعض أسماء الحقول في أكثر من جدول، فيجب التمييز بينها بكتابة اسم كل حقل على الصيغة: (اسم الجدول.اسم الحقل).. وعموما، يمكنك كتابة اسم الجدول قبل اسم أي حقل حتى ولو لم يكن له شبيه.. مثال:
SELECT [Authors].[Author], [Books].[Book]
FROM    [Authors], [Books]
ويمكنك إزالة الأقواس المضلعة إذا لم تكن هناك حاجة إليها:
SELECT Authors.Author, Books.Book
FROM    Authors, Books

5- ستظهر الحقول في السجلات المعادة بالترتيب الذي كتبت أسماءها به في جملة SELECT.. هذا يعني أن الحقل Author سيظهر أولا ثم الحقل Book في نتيجة الاستعلام السابق.

6- يمكنك كتابة جملة SQL على أكثر من سطر، فهي ليست كأوامر فيجيوال بيزيك تنتهي بنهاية السطر، ولكنها كأوامر C# تنتهي بالفاصلة المنقوطة ";"، وإن كان من الممكن عدم كتابة الفاصلة المنقوطة كاختصار.. هذا معناه أن الجملة التالية صحيحة:
SELECT Author, Book FROM Authors, Books
لكن تقسيمها على سطرين يجعل قراءتها أسهل.. هذا مجرد تنسيق.

7- معظم الأخطاء التي تحدث في كتابة جملة SQL تنتج عن الخطإ في كتابة أسماء الحقول والجداول، فانتبه لذلك جيّدا.

8- لتحديد كل سجلات الجدول، يمكنك كتابة أسمائها جميعا والفصل بينها بالفاصلة.. ولكن هذا سيكون مأساويا لو كان الجدول يحتوي على عشرين عمودا مثلا!.. لهذا تمنحك SQL تسهيلا رائعا، وهو استخدام العلامة "*" (أو الكلمة ALL) للدلالة على تحديد كل أعمدة الجدول كالتالي:
SELECT *
FROM Authors
أو:
SELECT All
FROM Authors
ولو أردت استرجاع كل الحقول من جدولين، فاستخدم جملة كالتالية:
SELECT Authors.*, Books.*
FROM Authors, Books

9- يمكنك كتابة اسم مختصر للجدول بعد اسمه الحقيقيّ مباشرةً، واستخدامه في باقي جملة الاستعلام للتسهيل.. مثال:
SELECT A.*, B.ID, B.Book
FROM Authors A, Books B
كما يمكنك استخدام الكلمة AS بين الاسم الحقيقي والاسم المختصر كالتالي:
SELECT A.*, B.ID, B.Book
FROM Authors As A, Books As B

من كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO .NET.. للتنزيل:


الجمعة، 29 يوليو، 2016

شغب أنوثتها



شَغَبٌ أنوثتُها 

أَهوَى فواكهَها إذا تَهوِي إلى حِضنى بلا مَأوَى

شَغَبٌ أنوثتُها، تُراوغُني كما تَهوَى

وبعينِها مَزْجٌ من الندمِ الخجولِ

وفرحةٌ سَكْرَى

يُقنِّعُ سِحرَها غضبٌ طفوليُّ التكبُّرِ

بينَ تقطيبِ الجبينِ يَزيدُ فتنةَ حاجبيها

والرموشُ الساجياتُ تُجيرُ بدرينِ استحلاّ جنةَ الحَلوَى

وتفرُّ منّي

والمَدَى منّي إليَّ

فتستكينُ على ضفافي موجةً نَشوَى

فتزيدُ دهشا ثم تَنسَى كلَّ شيءٍ

غيرَ أني كلُّ عالمِها

فتُزهرُ بسمةُ الشفتينِ رَيَّا مِن معاني لذةِ النَّجوى

الحبُّ ذاكِ صغيرتي

هذا الخضوعُ ـ المستحيلُ على غرورِكِ ـ في يَدَيَّ

مقدرٌ لي مُنذُ كانَ لآدمٍ حَوّا

لي قلبُها، مهما تمرَّدَ عقلُها

هي لي معاني رحلتي

وأنا بِسرِّ وجودِها الفَحْوَى

محمد حمدي غانم
29/7/2016

 


باني الاستعلام Query Builder:



باني الاستعلام Query Builder:

لتجرّب الأمثلة التي سنشرحها في هذا الفصل، يمكنك استخدام نافذة من نوافذ فيجوال ستديو تسمى "باني الاستعلام" Query Builder، تساعدك على إنشاء جمل SQL بطريقة مرئيّة Visual.

لعرض باني الاستعلام في فيجوال ستديو، افتح متصفح الخوادم Server Explorer وأسدل عناصر قاعدة البيانات Books.. ستجد بينها عنصرا اسمه Views.. اضغطه برز الفأرة الأيمن، ومن القائمة الموضعيّة اضغط الأمر Add New View.. ستظهر نافذة "إضافة جدول" Add Table، وهي تحتوي على أسماء جداول قاعدة بيانات الكتب.. حدّد الجدولين Authors و Books واضغط الزرّ Add، ثم الزر Close.



الآن أنت ترى نافذة باني الاستعلام، التي تتكوّن من أربعة أجزاء 4 Panes:

- جزء المخطط Diagram Pane.   
- جزء المعايير Criteria Pane.
- جزء جملة الاستعلام SQL Pane. 
- جزء النتائج Results Pane.

وتستطيع عرض أو إخفاء أي جزء من هذه الأجزاء، بالضغط بزر الفأرة الأيمن في أي منطقة من النافذة، واختيار اسم الجزء المطلوب من القائمة الفرعية Pane. 

قسم المخطّط Diagram Pane:
في هذا الجزء، تظهر الجداول التي اخترت استخدامها في بناء الاستعلام، والتي


الخميس، 21 يوليو، 2016

خانكة



الحلوة دي مجنونة خانكة = ولسانها عايز كام فيونكة

وأنا من زمان صابر عليها = عامل أنا من سيرلانكا

لو مش هتعقل وتلايمها = هقلب ف يوم وعقابي أنكَى

أقدر أطيّر نوم عنينها = وأقدر أخلي عشيتها ضنكا

بالمرّ أسقي شعورها غيرة = وأشعل ف نبض القلب عاركةْ

محمد حمدي غانم، 2016


رؤيا



رؤيا
 

وتزورُني في الحلمِ رغمَ جفائها = وتقولُ لي: "أهوَى كما تَهواني"!

وأصدّقُ الأحلامَ رغمَ سرابِها = وأقول: "بل رؤيا، غدًا تلقاني"

يا صاحبي ما الحبُّ إلا مُنْيةٌ = نسلو بها عن عالمِ الأحزانِ

وحبيبتي في الوهمِ مثلُ فراشةٍ = في وردِها وفواكهِ البستانِ

أناْ من أنا حتى أكذّبَ حسنَها = وألومَها عن قسوةِ الوجدانِ؟

هي في خيالي ما أحبُّ وأشتهي = لا ما تكونُ من الذي أشقاني

فليَهدِها ربُّ القلوبِ لرقةٍ = تَسقي هوانا لذةَ التحنانِ

 

محمد حمدي غانم
 ١٩\٧\٢٠١٦


لغة الاستعلام المركّبة SQL



لغة الاستعلام المركّبة
Structured Query Language
(SQL)
 

مهما كان نوع تطبيق قاعدة البيانات الذي تتعامل معه، فإنه يستخدم لغة خاصّة بقواعد البيانات متفقا عليها دوليّا اسمها SQL (تنطق "اس كيو إل" أو "سيكويل").. صحيح أن هناك اختلافات في تركيب هذه اللغة بينَ تطبيق وآخر، ولكنها اختلافات طفيفة لا تكفي للادعاء بأنها نسخ مختلفة تمام الاختلاف.

وبالمقارنة بلغات البرمجة المألوفة، تعتبر SQL لغة غير إجرائيّة Non-procedural، فهي لا تحتوي على تركيبات لغويةٍ مثل جمل الشرط وجمل التكرار وما شابهها.. وتعتبر SQL لغة برمجة عالية المستوي، حيث يمكنها في سطر واحد إجراء عمليّات بليغة التعقيد على قاعدة البيانات.
 

ملحوظة:
يقدم لنا SQL Server لغة إجرائية تسمى T-SQL وهي تستخدم جمل SQL مع بعض جمل تعريف المتغيرات وجمل الشرط لكتابة ما يسمى بالإجراءات المخزنة Stored Procedures كما سنرى لاحقا.

 

وتنقسم جمل لغة SQL إلى طائفتين رئيسيّتين:

1- لغة التعامل مع البيانات Data Manipulation Language (DML):
وتختصّ باسترجاع أو تحديث أو إضافة أو حذف السجلات التي تحقق شروطا معيّنة، لهذا تسمّى بالاستعلامات Queries.. وتسمّى جمل استرجاع البيانات باستعلامات التحديد Selection Queries، بينما تسمّى جمل الحذف والتعديل والإضافة باستعلامات الأداء Action Queries.

2- لغة تعريف البيانات Data Definition Language (DDL):
وتختصّ بإنشاء أو حذف كائنات قاعدة البيانات، كالجداول والأعمدة والفهارس والعلاقات والقيود Constrains.
 

من كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO .NET.. للتنزيل:

 


الثلاثاء، 12 يوليو، 2016

إلقائي لقصيدة أنشودة وهم



هذا هو إلقائي لقصيدة أنشودة وهم:


 


عذرا حبيباتي



همساتٌ لامرأةٍ ما
(75)

حلمي يُراوغُني، عُذرًا حبيباتي

الآهُ تَسكنُني مِن بينِ لذّاتي

والعقلُ مُمتَشِقٌ سيفَ الغَياباتِ

مُرٌ أنا لكنْ أَنتُنَّ حُلواتي

فَاتْركْنَنِي حُرًّا، واسمَعْنَ غُنواتي

محمد حمدي غانم، 2016

 


إنشاء القيود في سيكويل سيرفر



إنشاء القيود Constraints في جداول سيكويل سيرفر:

رأينا كيف ننشئ قواعد التحقق من الصحّة في Access.. يمكن أن نفعل المثل مع قواعد بيانات سيكويل سيرفر.. في فيجوال ستديو.. استخدم متصفح الخوادم Server Explorer لعرض تصميم الجدول Authors، واضغط بزر الفأرة الأيمن في أي موضع خال من الجزء العلوي من الصفحة، ومن القائمة الموضعية اضغط الأمر Check Constraints.. سيؤدي هذا إلى عرض نافذة إنشاء قواعد التحقق من الصحة، كما هي في الصورة: 



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

Author <> 'موهوب'

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

أغلق النافذة وقم بحفظ التغييرات، ثمّ انتقل إلى تخطيط الجدول وجرّب كتابة اسم المؤلف الفذ (موهوب)!

***

الآن، نكون قد ألممنا بأهمّ مفاهيم قواعد بيانات سيكيول سيرفر وكيفيّة إنشائها والاتصال بها من دوت نت.. وفي الفصل التالي، سنتعرّف على كيفيّة التعامل معها، باستخدام لغة الاستعلام المركبة SQL.. فإلى هناك.

 

من كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO .NET.. للتنزيل:


 


السبت، 9 يوليو، 2016

إلقائي لقصيدة لم نقتنع



هذا هو إلقائي لقصيدة لم نقتنع:
 


وقد سبق نشرها مكتوبة هنا:


 


قمر مر



هُوّا عشانَك قمر = تتقل وتتأمّر

يعني جمالَك أمر = لمشاعري تتدمر؟

لو مرّة في رقّة مَرّ = في مكاني أتسمّر

قاسي وبُعدَك أمَرّ = وفْ شوقي بتحمّر!

محمد حمدي غانم، 2016

 


إنشاء الفهارس Indexes



إنشاء الفهارس Indexes:

نريد الآن إنشاء فهرس لأحد الأعمدة في قاعدة بيانات سيكويل سيرفر.. من المتوقع في قاعدة بيانات الكتب مثلا، أن يتم البحث عن اسم الكتاب أو اسم المؤلف.. هذا يعني أننا نحتاج إلى فهرسة العمود Authors.Author والعمود Books.Book.. دعنا نرَ كيف نفعل هذا:

في متصفح الخوادم في فيجوال ستديو، انقر مرتين بالفأرة على اسم جدول المؤلفين Authors لفتح تصميم الجدول، واضغط بزر الفأرة الأيمن في أي موضع خال من الجزء العلوي من صفحة التصميم، ومن القائمة الموضعية اختر الأمر Indexes/Keys.. سيعرض هذا نافذة إنشاء الفهارس والمفاتيح الموضحة في الصورة:

 


ستجد تعريفا للمفتاح الأساسي لهذا الجدول واسمه الافتراضي PK_Authors، وكما ترى من خصائص هذا الفهرس (المفتاح) أنه مرتبط بالحقل ID ومرتب تصاعديا ASC.

والآن، اضغط الزر Add لإضافة فهرس جديد.. سيضاف عنصر إلى الشجرة الموجودة على اليسار اسمه الافتراضي IX_Authors.. لاحظ أن البادئة IX هي اختصار Index، ومن المنطقي افتراض أن العنصر الجديد فهرس وليس مفتاحا أساسيا، لأن الجدول لا يمكن أن يحتوي على أكثر من مفتاح أساسي واحد، بينما يمكن أن يحتوي على أكثر من فهرس.. على كل حال، تستطيع تغيير اسم هذا الفهرس لو أردت، والأفضل أن توضح فيه اسم الحقل أيضا.. غير قيمة الخاصية Name إلى IX_Authors_Author.

علينا الآن أن نحدد الحقل الذي يخصه هذا الفهرس.. اضغط الزر الموجود في خانة قيمة الخاصية Columns.. سيعرض هذا نافذة اختيار أعمدة الفهرس، وهي كما في الصورة:

 

تتيح لك هذه النافذة اختيار أكثر من عمود لفهرستها معا.. وكما ذكرنا من قبل، سيتم الترتيب على أساس العمود الأول، فإن تشابهت بعض عناصره، فسيتم ترتيبها على أساس العمود الثاني، فإن تشابهت بعض الأزواج من العمودين الأول والثاني معا، فسيتم ترتيبها على أساس العمود الثالث... وهكذا.. كل ما عليك في هذه الحالة، هو الضغط بالفأرة في صف فارغ في النافذة، واختيار اسم الحقل من القائمة المنسدلة من العمود الأول، واختيار نوع الترتيب (تصاعدي Ascending أم تنازلي Desinding) من العمود الثاني.. لكن في معظم الأحول لن تحتاج إلا إلى فهرسة عمود واحد كما في حالتنا هذه.. لهذا اختر اسم العمود Authors واترك الترتيب تصاعديا كما هو وأغلق النافذة بضغط الزر OK للعودة إلى نافذة خصائص الفهرس.

يمكنك تغيير بعض خصائص الفهرس على حسب احتياجك.. مثلا: لو أردت منع المستخدم من تكرار أسماء المؤلفين في العمود Author، فاجعل للخاصية Is Unique القيمة Yes.. وإذا أردت اعتبار هذا الحقل مفتاحا متفردا Unique Key للجدول، فاجعل للخاصية Type القيمة Unique Key بدلا من Index.. وهكذا.

اضغط Close لإغلاق النافذة، واضغط زر الحفظ لحفظ التغييرات التي حدثت للجدول في قاعدة البيانات.. لقد تم إنشاء فهرس حقل المؤلفين الآن!

وبنفس الطريقة، يمكنك إنشاء فهرس لحقل Book في جدول الكتب.

من كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO .NET.. للتنزيل:


 


الاثنين، 4 يوليو، 2016

الحب والحرب



همساتٌ لامرأةٍ ما
(74) 

يا كلَّ شيءٍ مضَى رِفقًا على قلبي

كلُّ الضحايا فَنَوا في الحبِّ والحربِ

إني عليلُ الهَوَى أشتاقُ للقربِ

يُغني عليلُ الهوا والداءُ في حبّي؟

محمد حمدي غانم، 2016

 


التعامل مع سيكويل سيرفر من دوت نت



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

تقدم دوت نت دعما كاملا للتعامل مع قواعد بيانات سيكويل سيرفر.. ولا يتوقف الأمر على الاتصال بقاعدة البيانات وقراءة البيانات منها، بل يتعدى الأمر ذلك إلى إنشاء قواعد البيانات وتصميم جداولها وعلاقاتها وكل كائناتها من داخل بيئة التطوير المتكاملة IDE الخاصة بدوت نت، بل إنك ستشعر أنه يكاد لا يوجد فارق بين طريقة التعامل مع قاعدة البيانات في دوت نت، وبين التعامل معها في مدير سيكويل سيرفر SQL Server Management Studio.. الفارق الوحيد هو أنك هنا ستتعامل مع متصفح الخوادم Server Explorer بدلا من متصفح الكائنات Object Explorer!

وحتى هذا الفارق تلاشى في دوت نت 2015، بظهور نافذة جديدة هي متصفح كائنات سيكويل سيرفر، التي يمكن عرضها بضغط القائمة الرئيسية View ثم ضغط الأمر Sql Server Object Explorer.. هذه النافذة تعرض خوادم سيكويل سيرفر وقواعد البيانات المتصلة بكل خادم (تحت العنصر Databases)، وخيارات التحكم في الخادم وأدوار المسئولين وما شابه (تحت العنصر Security)، وهي بهذا تشبه نافذة متصفح الكائنات الموجودة في مدير سيكويل سيرفر SQL Management Studio. 

إنشاء قاعدة بيانات سيكويل سيرفر في دوت نت:
افتح متصفح الخوادم Server Explorer من القائمة View، واضغط بزر الفأرة الأيمن العنصر Data Connections، ومن القائمة الموضعيّة اضغط الأمر Create New SQL Server Database.. سيظهر لك نافذة تطلب منك اسم خادم سيكويل الذي ستنشئ عليه قاعدة البيانات.. اكتب اسم الخادم MYPC\SQLEXPRESS. 

ملحوظة:
هناك اختصار متعارف عليه يستخدم بدلا من اسم الخادم المحلي، وهو الكلمة (local) موضوعة بين قوسين، أو النقطة "." .. الحكمة في هذا أنك تستطيع تغيير اسم جهازك من لوحة تحكم الويندوز Control Panel، وفي هذه الحالة ستحدث أخطاء في برامجك التي تستخدم الاسم القديم، لهذا فمن الأذكى أن تستخدم الاسم .\SQLEXPRESS بدلا من MYPC\SQLEXPRESS .

 ولو كان الخادم محميا باسم مستخدم وكلمة سر، فاضغط الاختيار Use SQL Server Authentication، حيث سيتم تفعيل مربعي النص الخاصين بكلمة المرور واسم المستخدم.. ولكن نظرا لأننا نستخدم الخادم المحلي بدون حماية، فاترك الاختيار الأوّل Use Windows NT Integrated Security.

أخيرا، اكتب اسم قاعدة البيانات التي تريد إنشائها، وذلك في مربع النص الموجود أسفل النافذة.. اكتب مثلا الاسم Test واضغط OK لإغلاق النافذة.
ستجد أنّ الاسم mypc\sqlexpress.Test.dbo قد ظهر في متصفح الخوادم.
وسيتمّ إنشاء قاعدة البيانات Test.mdf على المسار:
C:\Program Files\Microsoft SQL Server\
MSSQL10.SQLEXPRESS\MSSQL\DATA
ولو شئت أخذ نسخة احتاطيّةً منها، فلا تنسَ أن تنسخ أيضا الملف Test_log.LDF، ولو رفض الويندوز تنفيذ النسخ، فأغلق البرامج المتصلة بقاعدة البيانات، وإن اضطررت فافصل قاعدة البيانات من العمل على الخادم.

ملحوظة:
لو ضغطت القاعدة Test في متصفح الخوادم Server Explorer بزر الفأرة الأيمن، وضغطت الأمر Delete من القائمة الموضعيّة، فسيتم حذف الاتصال بقاعدة البيانات من متصفح الخوادم، لكن لن يتم حذف قاعدة البيانات نفسها، ومن ثم يمكنك إعادة الاتصال بها مرة أخرى من جديد بالطريقة التي سنوضحها لاحقا.. لاحظ أن هذا يختلف تماما عما سيحدث في مدير سيكويل SSMS، فضغط الأمر DELETE سيعرض نافذة حذف قاعدة البيانات نفسها، لذا عليك الحذر، واستخدام هناك الأمر Tasks\Detach لفصل قاعدة البيانات.

والآن، أسدل عناصر قاعدة البيانات Test في متصفح الخوادم.. لن تشعر بأية غربة، فأنت تشاهد نفس العناصر التي شاهدتها في مدير سيكويل من قبل، ولا تحتاج لأن يعلمك أحد كيف تنشئ الجداول أو العلاقات، فلا يوجد أي اختلاف يذكر!.. لا أظنك تعتبره اختلافا جذريا، لو أخبرتك أن نقر اسم الجدول مرتين بالفأرة يفتح صفحة تصميمه، أو أن الأمر الذي يفعل هذا من القائمة الموضعية اسمه "فتح تعريف الجدول" Open Table Definition بدلا من الأمر Design في مدير سيكويل، أو أن عرض وتحرير بيانات الجدول يتم باستخدام الأمر Show Table Data بد من الأمرين: Select Top 1000 rows و Edit Top 200 Rows!.. لاحظ أن نافذة عرض بيانات الجدول التي تظهر بعد ضغط الأمر Show Table Data هي جزء النتائج Result Pane في نافذة باني الاستعلام Query Builder، ويمكنك عرض أي جزء آخر بالضغط بزر الفأرة في أي موضع، ومن القائمة الموضعية تضغط القائمة الفرعية Pane وتختار الجزء الذي تريد عرضه.

الاتصال بقواعد بيانات SQL Server:
نريد الآن الاتصال بقاعدة البيانات Books.mdf التي أنشأناها بمدير سيكويل.. في هذه الحالة سنتبع نفس الخطواتٍ التي اتبعناها عندما أردنا الاتصال بقاعدة البيانات Books.mdb التي أنشأناها في Access:
- اضغط بزر الفأرة الأيمن العنصر Data Connections في متصفح الخوادم، ومن القائمة الموضعيّة اضغط الأمر "إضافة اتصال" Add Connection.
- في مربّع حوار "اختيار مصدر البيانات" Choose data source، اختر العنصر: Microsoft SQL Server Database File واضغط OK.
ستظهر لك النافذة الموضحة في الصورة:
 


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

وفي النصف السفلي من النافذة، اختر قاعدة البيانات التي تريد التعامل معها.. إذا كانت هذه القاعدة تعمل على الخادم فعلا في هذه اللحظة، فاختر الخيار Select or enter a database file واكتب اسم قاعدة البيانات، أو اختره من القائمة المنسدلة.. أما إذا لم تكن قاعدة البيانات متصلة بالخادم في هذه اللحظة، فاختر Attach a database file، واضغط الزر Browse، واختر ملف قاعدة البيانات (وليكن Books.mdf) من المجلد الذي حفظته فيه على جهازك.. ويمكنك أن تكتب في الخانة Logical Name أي اسم تريده لتسمية الاتصال به، وليس شرطا أن يكون له نفس اسم قاعدة البيانات.. أو يمكنك ترك هذه الخانة فارغة.

- اضغط الزر Test لاختبار الاتصال.. إذا حدثت مشكلة وأخبرتك رسالة الخطأ أن قاعدة البيانات موجودة من قبل، فافتح مدير سيكويل سيرفر SQL Server Management Studio، وقم بفصل Detach قاعدة بيانات الكتب منه، ثم أعد محاولة الاتصال بها من دوت نت.. ويمكنك أن تلجأ إلى هذه الخطوة كلما واجهت مشكلة في الاتصال بقاعدة البيانات.. فإذا لم يحل هذا المشكلة، فيمكنك عمل Restart لخادم سيكويل نفسه بالطريقة التي شرحناها من قبل.

- بعد نجاح تجربة الاتصال، اضغط OK لإغلاق النافذة.. ستجد أن اسم قاعدة البيانات قد ظهر في متصفح الخوادم، ويمكنك التعامل معها بنفس الطريقة التي اتبعناها في مدير سيكويل. 

من كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO .NET.. للتنزيل:


صفحة الشاعر