الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكنني تصميم خاصية بحث متقدم؟

بدأه qirat في 8 ديسمبر 2008 · 6 رد · 1,094 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه

قد لا يكون هذا المكان الصحيح لهذا السؤال، لكني لم أعرف أين أضعه، فأرجو نقله إلى المكان الأنسب

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

query

SQLQuery = "SELECT * FROM PATIENTS WHERE  CAST(ID AS CHAR) LIKE upper('%" + textBox1.Text + "%') OR UPPER(FIRSTNAME) LIKE upper('%" + textBox1.Text + "%') OR UPPER(MIDDLENAME) LIKE upper('%" + textBox1.Text + "%') OR UPPER(LASTNAME) LIKE upper('%" + textBox1.Text + "%') OR UPPER(CITY) LIKE upper('%" + textBox1.Text + "%') OR UPPER(ADDRESS) LIKE upper('%" + textBox1.Text + "%')";

حيث يقوم ببحث مربع نص واحد TextBox في قاعدة البيانات، وإذا كان مربع النص فارغ لا يقوم بالبحث،

لكن تكمن المشكلة في البحث المتقدم، حيث سأقوم بوضع الكثير من الـ text box للـ FirstName و الـLastName و ... الخ،

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

أنا آسف للإطالة، ولكن هذا هو المشروع الأول لي في مجال قواعد البيانات،

#2
اقتباس
إذا كتبتها بنفس الطريقة الأولى، ستكون المشكلة إذا قام المستخدم بترك بعض مربعات النص فارغة،

يمكنك معرفة ذلك من كتابة إجراء للحدث click لزر البحث

لتتأكد من خلالة هل توجد بيانات مكتوبة فى text box المختلفة

أم لا

ومن ثم تنفذ الأستعلام المطلوب أو تخرج رسالة بالمعلومات المطلوبة

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

#3

شكراً أخي على سرعة الرد،

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

ولنفترض أنه لم يدخل البيانات في مربع الـ ID فتصبح الـ query كالتالي:

SQLQuery = "SELECT * FROM PATIENTS WHERE  CAST(ID AS CHAR) LIKE upper('%" + IDBox.Text + "%') OR UPPER(FIRSTNAME) LIKE upper('%" + FIRSTNAME.Text + "%')

وتترجم إلى هذا الشكل

SQLQuery = "SELECT * FROM PATIENTS WHERE  CAST(ID AS CHAR) LIKE NULL OR UPPER(FIRSTNAME) LIKE HASSAN"

تلاحظ هنا ظهور الـ NULL الغير مرغوب بها

post-54515-1228691198_thumb.jpg

تم تعديل هذه المشاركة بواسطة qirat في 8 ديسمبر 2008 في 02:07

#4

هل توضح ما تريد أخى بشكل أكثر

وبمثال على البحث المتقدم لديك

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

#5

انظر هنا .............

/index.php?showtopic=176009

#6

أيضا هنا ستكون مضطر لعمل جمل IF لإختبار ما تم إدخالة وما لم يتم

وعلى هذا الأساس تقوم بتكوين الأستعلام المطلوب

مثلا لو لم يدخل id لا تقوم بتضمينها فى الأستعلام وهكذا

راجع الأمثلة هنا http://www.kutub.info/library/list.php?cat=19

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

#7

شكراً أخي vbm،

وألف شكر أخي karakass، هذا بالضبط ما كنت أبحث عنه،

الله يجزيكما الجنة بإذن الله

وكل عام وأنتم بخير :lol:

مواضيع مشابهة