بالصور SQL Join

السلام عليكم ورحمة الله وبركاته ,وجدت هذه الصورة عن SQL Join فى أحد المواقع الانجليزية واحببت ان اشاركها معكم لعل هناك من يستفيد بها.

sql Join

الالوان المتناسقة

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

kuler

Kuler

combo

ColorCombos

color blender





ColorBlender

اختصارات دوت كوم

اختصارات التصفح

السلام عليكم ورحمة الله وبركاته ,اذا كنت ممن يتصفحون الانترنت بكثرة ,ويتابعون اخبار التقنية,او يتصفحون مواقع الشركات التى تنشر انها بحاجة لوظائف ,فلعلك بحاجة لمعرفة اختصار لكتابة .com  و .net  و .org

بالنسبة لدوت كوم فاختصارها معروف ومنتشر وهو كونترول+ انتر ,اما الذى انت قد تكون تعرفه فهو ان اختصار دوت نت هو شيفت +انتر ,اما الذى انت بحاجة لمعرفته ان اختصار دوت اورج هو كونترول+ شيفت+ انتر

متى تستخدم الداتاريدر؟

السلام عليكم ورحمة الله وبركاته ,الاحظ كثيرا من بعض الأخوة انهم يفرطون فى استخدام الداتاريدر ,بل لعل بعضهم لم يسمع بالداتاست ,او كيفية التعامل معها ,عموما هذه كيفية عمل الداتاريدر
  • الداتاريدر يستخدم فى قراءة البيانات فقط فى اتجاه واحد ,اى لا يمكن عمل تعديل او حذف على البيانات عن طريقه.
  • الداتاريدر يقرأ صفا بصف ,اى اذا كنت ستقرأ من قاعدة البيانات 50 صف ,فانه سيقرأ صفا تلو الآخر ,يأتى بهذا الصف من قاعدة البيانات الى الكود خاصتك ,ثم يعود ليقرأ الصف الذى يليه وانه يحتاج دائما لكائن اتصال طالما هناك بيانات سيقرأها ,اى انه لن يقرأ البيانات كلها مرة واحدة وانه سيحتاج طول عمله لاتصال مفتوح .
  • الداتا ريدر لا يخزن الا صفا واحدا فى الذاكرة ,وبمجرد قراءته لصف جديد فان الصف الذى يسبقه قد انتهى فيما يعرف ب Stream Mode read  اى انك اذا لم تخزن البيانات التى بالداتاريدر يدويا فانها ستنتهى ولن يمكنك استرجاعها الا اذا اعدت عملية القراءة من جديد من تعريف اتصال وتعريف امر استعلام وتعريف داتا ريدر والقراءة من جديد.
وهذا تعريف ميكروسوفت للداتاريدر

You can use the ADO.NET DataReader to retrieve a read-only, forward-only stream of data from a database. Results are returned as the query executes, and are stored in the network buffer on the client until you request them using the Read method of the DataReader. Using the DataReader can increase application performance both by retrieving data as soon as it is available, rather than waiting for the entire results of the query to be returned, and (by default) storing only one row at a time in memory, reducing system overhead.

اذا الداتاريدر مفيد فقط فى حالة عرض البيانات من قاعدة البيانات وعدم وجود حاجة للتعديل عليها ,وان هذه البيانات ليست بالكثيرة لان الداتاريدر يستلزم اتصال مفتوح واذا كانت البيانات كثيرة فقد يحدث لكائن الاتصال Timeout  اى ينتهى مدته,وينفعك الداتاريدر فى حالة حاجتك لتوفير استهلاك الذاكرة حيث ان الداتاريدر يخزن فقط صف واحد .

الصليبيين الارهابيين

انظر كيف يقتل الصليبيين بدم بارد المسلمين فى العراق ,انهم لا يرقبون فى مؤمن الا ولا ذمة ,ويقولون اننا ارهابيون ,هؤلاء الجبناء .اين الرحمة التى يتشدقون بها ؟

تحليل مجانى لموقعك

woorankتحليل المواقع

السلام عليكم ورحمة الله وبركاته,اذا كنت من مدراء المواقع WebMasters  فانت بحاجة دائما لكى تقييم اداء موقعك ,لكى تحصل على افضل آداء للزائرين ,وكلما زادت كفاءة موقعك كلما اصبح مريحا اكثر للقراء ,وكلما وجدوه فى نتائج بحثهم كلما زاروه ,وكلما كان تقييم جوجل له افضل ويضعه فى اوائل النتائج ,وهو مايعرف ب SEO ,اليك هذه الخدمة المجانية من وورانك. طبعا معظم المصطلحات التى بالتحليل لن يفهمها الا من يفهم اساسيات ال SEO ولغة HTML/XHTML .

ابتكار باستخدام ريموت وى

متى ترحل عنا حكوماتنا الفاسدة ,متى ينال المتفوق قدره ,متى ينصلح التعليم ,متى تتوقف الحكومة عن التحجج بكثرة عدد السكان وتنظر مرة الى الصين

شرح الاتصال بقاعدة البيانات

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

أولا يجب ان نعرف ان البرامج التى تعتمد على قواعد البيانات تسمى Data Driven Applications  حيث تقوم بعمل واجهة تسمح للمستخدم بعرض البيانات التى يريدها ثم التعديل عليها بالاضافة ,التغيير او الحذف ليتم تنفيذ الامر على قاعدة البيانات ,وADO.NET  احد تلك الوسائل التى توفر لك ذلك .

ADO هو اختصار ل Active Data Object و .Net تعنى النوع الجديد من Active Data Object  تمييزا له عن Classic ADO حيث اصبح هناك Disconnected Mode  وسنعرفه لاحقا ,واصبح هناك دعم ل XML وهناك فروقات أخرى لا مجال لذكرها.

هناك نوعان من الاتصال بقواعد البيانات فى ADO.NET

النظام المتصل :Connected Mode  او Stream Based Access  وهو يعتمد على انك ستتصل بقاعدة البيانات وتظل متصلا بها حتى تقرأ كل البيانات,بيان تلو الآخركأنك تقرأ سطر سطر ,يتم جلب كل صف من قاعدة البيانات واحدا تلو الآخر حتى تقرأ كل الصفوف التى تريدها ثم تغلق الاتصال .

النظام المنفصل :disconnected Mode  او Set Based Access  وهو يعتمد على انك ستتصل بقاعدة البيانات وتقرأ البيانات كلها مرة واحدة Batch Mode  ثم تغلق الاتصال ,اى يختلف عن الاول ان هذا يقرأ بالكمية وليس واحدا تلو الآخر .

ستلاحظ ان هناك تشابه بين الاثنين ,عموما يمكننا الى حد ما تشبيه التعامل مع قواعد البيانات بالاتصال بين صديقين ,احدهما يسأل الآخر عن من الذين اشترك فى الرحلة كما بالصورة .

ADo.Net

اولا ستحتاج اتصال Connection Object يعتمد على ConnectionString  ويمكنك اعتباره بالعنوان الذى ستتصل عليه لتحصل على البيانات .

ثانيا ستحتاج امر Command  لتنفيذه الاستعلام او حتى الامر الذى تريد تنفيذه بقواعد البيانات .

ثم انك ستجد انه لو ان هناك شخص امامه هاتف منزلى وهاتف جوال ,يمكنه الاتصال عن طريق اي منهما لتنفيذ الاستعلام الذى يريده ,اذا عقلا يجب ان يعرف الامر Command  ما الاتصال Connection  الذى سيعمل عليه.

ثالثا ستحتاج فتح الاتصال ,سواء يدويا او بواسطة ما ,هل يمكن ان تتحدث عبر الهاتف بدون فتح الاتصال؟

رابعا ستحتاج تنفيذ الامر الذى تريده ,ما الفائدة اذا اتصلت بصاحبك لتسأل عليه عبر الهاتف ثم عند فتح الاتصال لم تتحدث؟ يجب عليك ان تنفذ الامر .

خامسا ستحتاج غلق الاتصال ,فهذا سيوفر موارد كثيرة سأذكرها فيما بعد .

وهذه الامور الخمسة ستحتاجها فى النوعين .

نأتى هنا على النوع الاول النوع المتصل (معذرة ولكنى اعتبره غير مهم ).

هذا النوع يعتمد على DataReader  اى قارىء البيانات ,عيوب هذا القارىء هو انه لا يخزن البيانات فى نفسه ,اى انه عندما يأتى بالبيانات صفا تلو الآخر ,يجب ان تأخذ منه البيانات وتخزنها يدويا والا فانه يتوجب عليه اعادة الاتصال من جديد وقراءة البيانات من جديد ,لذلك فهو يعمل فى اتجاه واحد .

سأعطى مثال على كيفية ملىء ComboBox  بواسطة DataReader من خلال قاعدة بيانات NorthWind  الموجودة ب SQL Server

اولا سنحتاج لعمل كائن Object  من Connection Class  ,ونلاحظ اننا عندنا اربعة انواع من Connection Classes

اولا SqlConnection  وكما هو ظاهر بالاسم ,فانه خاص بالتعامل مع قاعدة بيانات ميكروسوفت اس كيو ال ,الاصدار السابع فما فوق ,ويمتاز بانه Managed Code  اى يعمل ضمن محرك الدوت نت CLR .

هناك ايضا OracleConnection ,OledbConnection,ODBCConnection,لا مجال هنا للاستفاضة .

اذا ما هو الكود ؟
500

اما النظام المنفصل ,فهناك DataAdapter يقرأ البيانات فى كائن Dataset  كاملة ,يمكنك ان تعتبر هذه الداتاست هى لقطة Snapshot من قاعدة البيانات ,وهى الى حد ما قاعدة بيانات صغيرة,حيث يمكنك ان تضع بها جداول وتجعل بينها علاقات Relations  ,تعتبر هذه البيانات Cashed من البيانات التى فى قاعدة البيانات ,والتى قد يحدث تعديل عليها اثناء قيامك بعرض البيانات من الداتاست ,فأى تغيير فى قاعدة البيانات لن ينعكس الداتاست اثناء العرض ,الا اذا قررت الاتصال بقاعدة البيانات من جديد وعمل جلب للبيانات من جديد.

ولننظر الى الكود
dataset

ملحوظة :اولا هذه الاكواد تفهم ولا تحفظ,ثانيا يمكن كتابتها بأكثر من طريقة ,ولكنى اخترت اسهل طريقة ,نلاحظ ايضا سهولة تحديد DisplayMember  و ال ValueMember  للComboBox فى حالة الداتاست .