alwazer is an Arabic minister forum with topics منتديات الوزير العامة  
التعليمية الأدبية العامة الدليل أدلة فيديو صوتيات جوال بطاقات العاب برامج مقالات استضافة قصص القرآن هاكات بروكسيات مسجات تفسير الأحلام الأسرة المسلمة
فلاشات قبائل جافا الدروس الترجمة ابتسامات ستالايت الصحة تحميل دراسات النكت المطبخ شعر أزياء صور بحث ماسنجريات سكربتات عالم حواء إحداثيات المناطق
أخبار اسلام تصميم مطويات شات استايلات مكتبة أسهم مدونات برمجة دردشة قضايا رياضه هكر حماية تصوير سير فرات بلوتوث رفع الملفات الثقافة الجنسية

يالله حيه عسى ما شر يقولون انك غير مشترك معنا. حلفت عليك اشترك بالضغط هنــا
قديم 16 Oct 2007, 10:36 AM رقم المشاركة : 1
معلومات العضو
بن عبدالرحيم

نائب الوزير مالك الشبكة


الصورة الرمزية بن عبدالرحيم

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

افتراضي Sql لغة الإستفسارات 2

SQL لغة الإستفسارات 2

في هذا الدرس سوف نتعلم استخدام لغة الاستفسار في تطبيق فيجوال بيسك ، من حيث كيفية الاستفسار عن قيمة مدخلة من قبل المستخدم و كيفية وضع نتائج البحث في listbox و combo box


الدرس

كيف نتعامل مع جملة SQL في البرنامج ؟ هذا هو السؤال الذي سوف نقوم بالإجابة عليه الان

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


[img]عفوا صاحب الموضوع تعب في احضار الروابط هذه لك ألا ترى انه من اللائق الرد على موضوعه لنمنحه التشجيع تقديرا له وليواصل عطاءه ويزودك مزيداً حول هذا المجال خلال هذه الفترة الحالية تستطيع الرد باستخدام الوضع المتطور للرد فقط اسفل هذا الموضوع عن طريق ايقونة اضافة رد وشاكراً لك دعمك ليكون الجميع في خدمتك في هذا الملتقى[/img]

لكي نستعلم عن الاسماء التي ارقامها 1442 نكتب الجملة التالية :


SQL = "select name from Tb where num = 1442 "


هكذا نكون قد قمنا بالاستعلام بعد ذلك تأتي الخطوة التالية و هي تخزين النتائج في الجدول المستعار و الذي نقوم بتعريفه ( لمزيد من التوضيح راجع الدروس السابقة) عادة في الموديول كما قمنا به في الدروس السابقة و لنفرض أن اسمه T و ان اسم المتغير الذي قمنا بتخزين قاعدة البيانات فيه D و التي كنا نطلق عليها القاعدة المستعارة سنكتب الامر التالي لكي نخزن نتائج الاستعلام في الجدول :


Set T=D.openrecordset(SQL,dbopendynaset)


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




و الان بعد أن قمنا بتخزين القيم في الجدول نريد ان نظهر البيانات و يمكنك اظهارها في عدة اشكال كما تريد فيمكنك و ضعها في مربعات نص او قوائم سواء LISt او COMBO ولكل واحد طريقة تختلف نوعا ما عن الاخر




مربع النص Text Box :

لكي تظهر النتائج في مربع النص فلن تحتاج الا لإجراء الاظهار كما تعلمنا في السابق و تقوم بكتابته بعد امر تخزين نتائج الاستعلام في الجدول

List Box :

لتضع النتائج في قائمة ListBox لن تحتاج لكثير من الخطوات فالأمر ربما أسهل مما تتصور ، فقط تحتاج لهذا الكود :




For i = 1 To n
List1.AddItem TB!name
TB.MoveNext
Next i




قمنا بعمل تكرار بعدد الحقول لكي يتم عبئة جميع البيانات في الجدول و لقد عرفنا كيفية معرفة عدد الحقول في دروس الربط بالكود السابقة

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




ComboBox :

لا تختلف طريقة تعبئة هذه القائمة عن الطريقة السابقة أبدا قم بنفس الخطوات




استقبال المدخلات من المستخدم :

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

إفرض أنك قمت بعمل قاعدة بيانات فيها حقلين الاسم name و حددت نوع البيانات لهذا الحقل بأنها نصية و الحقل الاخر الرقم num و حددت البيانات له بأنها رقمية ، و قمت بربط القاعد مع البرنامج بطريقتنا التي تعلمناها و الان نريد ان نستعلم عن الرقم للشخص الذي يحدده المستخدم سنقوم في هذه الحالة بإنشاء مربع نص لكي يدخل المستخدم الاسم الذي يريده ثم ننشأ زر يقوم المستخدم بالضغط عليه لتتم عملية الاستعلام ، و ستكون جملة الاستعلام عادية كما تعلمنا و بدلا من ان نضع القيمة التي سنستعلم عنها سنضع القيمة التي ادخلها المستخدم في مربع النص من المتوقع أن يكون الكود المطلوب للاستعلام في هذه الحالة التالي :

SQL = "select num from tb where name = text1.text "




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

' " & text1.text & " '

لقد قمنا بوضع علامتي تنصيص مزدوجة عليها يفصل بينها علامة الجمع & ثم قمنا بحصرهم جميعا بعلامة تنصيص مفردة ، الخطوة الاخيرة و هي وضع علامة التنصيص المفردة تكون للحقول الحرفية و لا نحتاجها في الحقول الرقمية ، قم بتجربة ذلك الان لكي تستوعبها جيدا

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

SQL = "select num from tb where name = '" & text1.text & "' "




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

SQL = "select name from tb where num = " & text1.text & " "




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



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

تستطيع أن ترى الصورة بحجمها الطبيعي بعد الضغط عليها
تستطيع أن ترى الصورة بحجمها الطبيعي بعد الضغط عليها

بن عبدالرحيم غير متواجد حالياً   رد مع اقتباس
إعلانـات تــجـــاريـــة
قديم 22 Nov 2007, 11:26 AM رقم المشاركة : 2
معلومات العضو
أنا سالي
اللجنة التنفيذية في شبكة الوزير العالمية

الصورة الرمزية أنا سالي

افتراضي

مشكور أخي الكريم ويعطيك العافية ماقصرت
__________________

تستطيع أن ترى الصورة بحجمها الطبيعي بعد الضغط عليها

أنا سالي متواجد حالياً   رد مع اقتباس
إعلانـات تــجـــاريـــة
رد



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
طرق مشاهدة الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
كيفية استغلال ثغرات Sql Ingection بالصور المفقوش وزارة أمن المواقع والشبكات Security sites networks 5 يوم أمس 02:40 AM
كيف تستخدم Sql بن عبدالرحيم وزارة لغات البرمجة Programming Languages 4 01 Feb 2008 11:18 PM
Sql لغة الاستفسارات 4 بن عبدالرحيم وزارة لغات البرمجة Programming Languages 1 22 Nov 2007 11:31 AM
Sql لغة الإستفسارات 3 بن عبدالرحيم وزارة لغات البرمجة Programming Languages 1 22 Nov 2007 11:30 AM
Sql لغة الإستفسارات بن عبدالرحيم وزارة لغات البرمجة Programming Languages 1 22 Nov 2007 11:26 AM


الساعة الآن: 03:22 PM

بحث مخصص
sitemap sitemap Powered by MyPagerank.Net

Powered by vBulletin® Version 3.6.7, Copyright ©2000 - 2008, Tranz By Almuhajir
جميع الحقوق محفوظة ل شبكة الوزير العالمية

SEO by vBSEO 3.1.0 ©2007, Crawlability, Inc.