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

بحث في الداتا سيت وعرضها على داتا غريد

مغلق
بدأه sunbol في 3 أكتوبر 2007 · 9 رد · 1,813 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي سؤال عن عملية البحث داخل داتا سيت

وعرض النتائج على داتا غريد فيو

ماهو الكود المناسب

لانني استخدمت هذا الكود ومانجح معاي

Select * From tblArticles Where Subject Like '%textbox1.text%'

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

يعني اي حرف يكتب يرجع قائمة بالكلمات اللتي تبدا بهذا الحرف

36cm7.gif
#2
"Select * From tblArticles Where Subject Like '%" & textbox1.text & "%' "
#3
اقتباس
لدي سؤال عن عملية البحث داخل داتا سيت

نعم استخدم لهذا الغرض الدالة Select للـ DataTable. هذه الدالة تأخذ معامل نصي (يسمى Filter) يمثل الشرط الذي تريد أن تبحث عنه. Filter يشابه إلى حد كبير الشروط التي تكتبها بعد كلمة WHERE في جمل SQL، ولكنه ليس جملة SQL. ناتج الدالة Select عبارة عن مصفوفة DataRow.

مثال:

1- افترض التالي:

- لدينا DataSet اسمها DS وفيها جدول اسمه Customer.

- في الجدول Customer حقل اسمه FirstName نريد أن نبحث فيه عن قيمة تشابه قيمة TextBox1.

2- اكتب التالي:

Dim MyTable As DataTable = DS.Tables("Customer")
		Dim MyFilter As String = "FirstName LIKE '%" & TextBox1.Text & "%'"
		Dim MyRows() As DataRow
		MyRows = MyTable.Select(MyFilter)

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

3- الآن تلاحظ أن المصفوفة MyRows تحتوي على سجلات هي نتائج البحث. تستطيع الآن أن تلف على عناصر المصفوفة واحد واحد وتأخذ منها قيم الحقول ... إلخ.

أخوك.

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#4

اشكرك اخ وليد واخ عادل على التفاعل

حاولت ان اجرب طريقة الاخ عادل

لكنها لم تنجح معي

ربما يكون الخطا مني

في اي حدث اضع الكود هل في حدث الtextchanged ام حدث اخر لانني اريد مع كل حرف يتغير يعمل بحث اوتوماتيك

وسؤالي الاخر ماهي الداتا سورس للداتا غريد هل هي

DataGridView1.DataSource = MyRows

اشكركم مرة اخرى واذا اردتم ان ارفق المشروع سوف ارفقة

36cm7.gif
#5
اقتباس
لكنها لم تنجح معي

ربما يكون الخطا مني

كنت أتمنى لو حددت ما هو الخطأ؟ وماذا فعلت؟ وأين توقفت بالضبط؟

اقتباس
في اي حدث اضع الكود هل في حدث الtextchanged ام حدث اخر لانني اريد مع كل حرف يتغير يعمل بحث اوتوماتيك

طالما تريد البحث أن يتم بمجرد تغير قيمة TextBox1 إذن اختيارك للحدث TextChanged صحيح.

اقتباس
وسؤالي الاخر ماهي الداتا سورس للداتا غريد هل هي

DataGridView1.DataSource = MyRows

لا ليست مصفوفة DataRow، بل هي DataTable جديد.

الآن.. جرب المثال المرفق ففيه:

1- المشروع كامل: عملية البحث التي تتم بمجرد تغير قيمة TextBox1، وعرض النتائج عقب كل عملية بحث في DataGridView1.

2- عينة قاعدة بيانات.

إذا أردت أن أبين لك الكود فأنا تحت أمرك.. وكل عام وأنت بخير.

أخوك المخلص دائماً.

DatasetSearch_Example.zip

تم تعديل هذه المشاركة بواسطة Adel_N في 4 أكتوبر 2007 في 17:08

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#6

اخي عادل

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

ولي عودة

اشكرك كثير الشكر لك مني كل تحية

36cm7.gif
#7
sunbol كتب:
اخي عادل

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

ولي عودة

اشكرك كثير الشكر لك مني كل تحية

بالتوفيق.

أخوك.

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#8

اخي عادل

تم تجرية البرنامج ونجح معاي وكان الخطا في استخدامي جملة البحث ولانني لم استخدم جملة datarows بشكل صحيح

لكن لدي سؤال

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

واشكرك كثير الشكر اخي العزيز وكل عام وانتم بخير

اخوك سنبل

36cm7.gif
#9
sunbol كتب:
اخي عادل

تم تجرية البرنامج ونجح معاي وكان الخطا في استخدامي جملة البحث ولانني لم استخدم جملة datarows بشكل صحيح

لكن لدي سؤال

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

واشكرك كثير الشكر اخي العزيز وكل عام وانتم بخير

اخوك سنبل

قم بتغيير السطر:

Dim MyRows() As DataRow = DS.Tables("people").Select("Name LIKE '%" & TextBox1.Text & "%'")

بحيث يصبح:

Dim MyRows() As DataRow = DS.Tables("people").Select("Name LIKE '" & TextBox1.Text & "%'")

أخوك.

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#10
sunbol كتب:
السلام عليكم

لدي سؤال عن عملية البحث داخل داتا سيت

وعرض النتائج على داتا غريد فيو

ماهو الكود المناسب

لانني استخدمت هذا الكود ومانجح معاي

Select * From tblArticles Where Subject Like '%textbox1.text%'

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

يعني اي حرف يكتب يرجع قائمة بالكلمات اللتي تبدا بهذا الحرف

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…