تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
البحث المتعدد بقواعد البيانات
#1
السلام عليكم ورحمة الله وبركاته 
كيف ابحث بحقل واحد عن عدة كلمات 
مثلا لدي خلية  تحوي التالي  منتدى فيجوال بيسك لكل العرب 
معلوم تفصل بين الكلمات مسافات انا ريد ان ابحث كالتالي اكتب من كل كلمة حرفين اوحرف  وافصل بمسافة 
اي اكتب  من في بي    فيظهر لي النتيجة منتدى فيجوال بيسك لكل العرب 
استخدم السكول سيرفر اريد استعلاما يفعل ذلك
وشكرا
                                                        Heart سبحان الله والحمد لله ولا اله الا الله والله اكبر  Heart
الرد }}}
تم الشكر بواسطة:
#2
كود :
Dim SQLDAP As New SqlDataAdapter("SELECT * FROM TabelName where Name like '%" + TextBox1.Text + "%'", Con)
       Dim ds As New DataSet
       SQLDAP.Fill(ds)
       ' فرضاً لو أرتد عرض النتيجه في داتا قريد فيو
       DataGridView1.dataSource = dt
الرد }}}
تم الشكر بواسطة: العواد الصغير
#3
اخ عادل انا استخدم هذا الكود  ولكن عندما تضع فراغ وتكتب الكلمة الثالثة يذهب الى لا شيء ارجو ان تكون الفكرة وصلت 
وشكرا على ردك السريع وانا استخدم هذا الكود
 Dim sqltb007 As String = "SELECT        TOP (100) PERCENT ID, b1, b2, b3 FROM TB7 WHERE        (b3 LIKE '%" & txttbl007 & "%') ORDER BY ID "
                                                        Heart سبحان الله والحمد لله ولا اله الا الله والله اكبر  Heart
الرد }}}
تم الشكر بواسطة:
#4
أبد ياغالي تحت أمرك وأن شاء الله تنحل مشكلتك 

أنا عملت لك مثال وهو عبـاره عن البحث بطريقتين أختر أي طريقه تناسبك 
الطريقه الأولى تعبة الكمبو بكس 
والثانيه بدون كمبو بكس أنا أفضل الطريقه الأولى


الملفات المرفقة
.zip   البحث.zip (الحجم : 30.71 ك ب / التحميلات : 69)
الرد }}}
تم الشكر بواسطة: العواد الصغير
#5
(22-10-16, 05:24 AM)adel27 كتب : أبد ياغالي تحت أمرك وأن شاء الله تنحل مشكلتك 

أنا عملت لك مثال وهو عبـاره عن البحث بطريقتين أختر أي طريقه تناسبك 
الطريقه الأولى تعبة الكمبو بكس 
والثانيه بدون كمبو بكس أنا أفضل الطريقه الأولى

اولا اشكرك من كل قلبي 
ثانيا هذه الطريقة اعرفها من قبل اظن انني لم استطع ان اوصل الفكرة كما يجب هل هناك طريقة غير like للبحث 
بقواعد البيانات 
وشكرا  على ردك والسلام
                                                        Heart سبحان الله والحمد لله ولا اله الا الله والله اكبر  Heart
الرد }}}
تم الشكر بواسطة:
#6
وعليكم السلام ورحمة الله وبركاته

توجد طريقة ترجع بأي سطر يحتوي عمود محدد على أي كلمة من الكلمات الموجودة في TextBox1
وهذا هو الكود لعمل ذلك
كود :
Dim mLike As String = "([column1] LIKE '%" & Join(Me.TextBox1.Text.Trim.Split, "%') OR ([column1] LIKE '%") & "%')"
Dim sql As String = "SELECT * FROM [Tabel1] WHERE " + mLike

لو وضعنا في TextBox1.Text النص التالي "من في بي" فإن جملة SQL راح تكون
كود :
SELECT * FROM [Tabel1] WHERE ([column1] LIKE '%من%') OR ([column1] LIKE '%في%') OR ([column1] LIKE '%بي%')

جربها يمكن تطلع مطابقة لسؤالك
الرد }}}
تم الشكر بواسطة: myalsailamy , العواد الصغير
#7
نفس طريقتي  يا  اخ  ممدوح  ،
كما انه يوجد طرق اخرى و لكن هذه اسهلها ايضا يوجد  طريقة  CONTAINS و  FreeText و تمرر مجموعه من الكلمات كمصفوفه  و لكنها صعبه قليلاً كمبتدأ في ادارة قواعد البيانات  يعني يبغى لها اضافات اثناء تثبيت SQL  Server  ،  و في الحقيقه  لم اجربها  و انما قرات عنها سابقا و احببت اضافتها  لعلك تجد ضالتك فيها  ،  و هذا رابط يشرح طريقتها في الاستخدام  :

http://sqlmag.com/sql-server/sample-full...rch-engine

ايضا شيء اخر لو  اردت ان تبحث  في جميع الاعمده النصيه الموجوده  في  قاعدة البيانات  بنفس طريقة  الاخ ممدوح فقط  قم بدمج  الاعمده و طبق عليها  عملية like  مثال  :  
WHERE ([column1]+[column2] LIKE '%من%') OR ([column1]+[column2] LIKE '%في%') OR ([column1]+[column2] LIKE '%بي%')
اسم معرفي : محمد يحيى
الرد }}}
تم الشكر بواسطة: العواد الصغير , ممدوح
#8
(22-10-16, 12:40 PM)ممدوح كتب : وعليكم السلام ورحمة الله وبركاته

توجد طريقة ترجع بأي سطر يحتوي عمود محدد على أي كلمة من الكلمات الموجودة في TextBox1
وهذا هو الكود لعمل ذلك
كود :
Dim mLike As String = "([column1] LIKE '%" & Join(Me.TextBox1.Text.Trim.Split, "%') OR ([column1] LIKE '%") & "%')"
Dim sql As String = "SELECT * FROM [Tabel1] WHERE " + mLike

لو وضعنا في TextBox1.Text النص التالي "من في بي" فإن جملة SQL راح تكون
كود :
SELECT * FROM [Tabel1] WHERE ([column1] LIKE '%من%') OR ([column1] LIKE '%في%') OR ([column1] LIKE '%بي%')

جربها يمكن تطلع مطابقة لسؤالك

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

(22-10-16, 06:55 PM)myalsailamy كتب : نفس طريقتي  يا  اخ  ممدوح  ،
كما انه يوجد طرق اخرى و لكن هذه اسهلها ايضا يوجد  طريقة  CONTAINS و  FreeText و تمرر مجموعه من الكلمات كمصفوفه  و لكنها صعبه قليلاً كمبتدأ في ادارة قواعد البيانات  يعني يبغى لها اضافات اثناء تثبيت SQL  Server  ،  و في الحقيقه  لم اجربها  و انما قرات عنها سابقا و احببت اضافتها  لعلك تجد ضالتك فيها  ،  و هذا رابط يشرح طريقتها في الاستخدام  :

http://sqlmag.com/sql-server/sample-full...rch-engine

ايضا شيء اخر لو  اردت ان تبحث  في جميع الاعمده النصيه الموجوده  في  قاعدة البيانات  بنفس طريقة  الاخ ممدوح فقط  قم بدمج  الاعمده و طبق عليها  عملية like  مثال  :  
WHERE ([column1]+[column2] LIKE '%من%') OR ([column1]+[column2] LIKE '%في%') OR ([column1]+[column2] LIKE '%بي%')

اشكرك  على الرد  جزاك الله خيرا
                                                        Heart سبحان الله والحمد لله ولا اله الا الله والله اكبر  Heart
الرد }}}
تم الشكر بواسطة:
#9
اخي الفاضل تم اجابتك بمنطقيه بحيث من الممكن أن تعيد استخدام الاكواد كما تريد مثلا في هذه الحاله بدلا من OR استخدم And و معناه لابد ان العمود يحتوي جميع الكلمات الموجود في مفاتيح البحث
اسم معرفي : محمد يحيى
الرد }}}
تم الشكر بواسطة:
#10
(22-10-16, 10:19 PM)myalsailamy كتب : اخي الفاضل تم اجابتك  بمنطقيه  بحيث من الممكن أن تعيد استخدام الاكواد كما تريد مثلا  في هذه الحاله بدلا من OR  استخدم And  و معناه  لابد ان العمود يحتوي جميع الكلمات الموجود في مفاتيح البحث

انا لست متذمرا  بل  شاكرا للتعاونكم اعلم انكم اجبتم بما علمتم وجزاكم الله خيرا والشكر موصول لكم ولهذا 
المنتدى الحميل
                                                        Heart سبحان الله والحمد لله ولا اله الا الله والله اكبر  Heart
الرد }}}
تم الشكر بواسطة: myalsailamy


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] حل مشكلة الاتصال بقواعد البيانات access loay775 2 158 25-02-24, 06:29 AM
آخر رد: loay775
  [VB.NET] البحث باستخدام CheckedListBox لتكون نتيجة التحديد شرط لجملة الاستعلام ahmedramzyaish 0 116 19-02-24, 03:44 AM
آخر رد: ahmedramzyaish
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 249 11-02-24, 08:43 PM
آخر رد: assuhimi
  البحث بالهوية annagui 2 315 25-01-24, 01:00 PM
آخر رد: annagui
  [VB.NET] منع تكرار البيانات في عند الادخال مبرمج صغير 1 2 255 24-01-24, 05:18 PM
آخر رد: مبرمج صغير 1
  [VB.NET] مساعدة في استدعاء البيانات معينه من form الأول إلى form 2 بدون التعديل loay775 2 275 18-01-24, 05:04 PM
آخر رد: loay775
  [VB.NET] إعادة استدعاء البيانات من قاعدة بيانات اكسس والاهم الصورة مبرمج صغير 1 1 273 13-01-24, 01:17 PM
آخر رد: مبرمج صغير 1
  [VB.NET] ما الخطأ فى هذا الكود - كود البحث المتعدد Ashraf Elafify 7 464 27-12-23, 10:50 PM
آخر رد: Ashraf Elafify
  [كود] البحث Abdellatif 2 208 27-12-23, 03:15 PM
آخر رد: Abdellatif
  [كود] اريد كود إرسال البيانات من الفيجوال بيسك إلىPDF issamsaidd 10 5,829 25-12-23, 06:30 PM
آخر رد: الحزين اليماني

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم