منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] ما الخطأ فى هذا الكود - كود البحث المتعدد - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] ما الخطأ فى هذا الكود - كود البحث المتعدد (/showthread.php?tid=47704)



ما الخطأ فى هذا الكود - كود البحث المتعدد - Ashraf Elafify - 27-12-23

كود :
DA1 = New OleDbDataAdapter("SELECT * FROM [TbName] WHERE
                                            [Name] LIKE '%" & TName.Text & "%'
                                         Or [FamousName] LIKE '%" & TFamousName.Text & "%'
                                         Or [MotherName] LIKE '%" & TMotherName.Text & "%'
                                         Or [Jobs] LIKE '%" & TJobs.Text & "%'
                                         Or [Plag] LIKE '%" & TPlag.Text & "%'
                                         Or [Address] LIKE '%" & TAddress.Text & "%'  
                                         Or [InternationalID] LIKE '%" & TInternationalID.Text & "%'  
                                         Or [AccType] LIKE '%" & ComboBox1.Text & "%'
                                         Or [SpeciaM] LIKE '%" & TSpecialM.Text & "%'  
                                         Or [IDCard] LIKE %" & TIDCard.Text & "% ", CN1)

        DA1.Fill(DT)
        DGV1.DataSource = DT



RE: ما الخطأ فى هذا الكود - كود البحث المتعدد - تركي الحلواني - 27-12-23

(27-12-23, 02:04 PM)Ashraf Elafify كتب :
كود :
 DA1 = New OleDbDataAdapter("SELECT * FROM [TbName] WHERE
                                           [Name] LIKE '%" & TName.Text & "%'
                                        Or [FamousName] LIKE '%" & TFamousName.Text & "%'
                                        Or [MotherName] LIKE '%" & TMotherName.Text & "%'
                                        Or [Jobs] LIKE '%" & TJobs.Text & "%'
                                        Or [Plag] LIKE '%" & TPlag.Text & "%'
                                        Or [Address] LIKE '%" & TAddress.Text & "%'  
                                        Or [InternationalID] LIKE '%" & TInternationalID.Text & "%'  
                                        Or [AccType] LIKE '%" & ComboBox1.Text & "%'
                                        Or [SpeciaM] LIKE '%" & TSpecialM.Text & "%'  
                                        Or [IDCard] LIKE %" & TIDCard.Text & "% ", CN1)

       DA1.Fill(DT)
       DGV1.DataSource = DT
PHP كود :
Dim query As String "SELECT * FROM [TbName] WHERE " &
 
   "[Name] LIKE ? OR " &
 
   "[FamousName] LIKE ? OR " &
 
   "[MotherName] LIKE ? OR " &
 
   "[Jobs] LIKE ? OR " &
 
   "[Plag] LIKE ? OR " &
 
   "[Address] LIKE ? OR " &
 
   "[InternationalID] LIKE ? OR " &
 
   "[AccType] LIKE ? OR " &
 
   "[SpeciaM] LIKE ? OR " &
 
   "[IDCard] LIKE ?"

DA1 = New OleDbDataAdapter(queryCN1)

' تعيين قيم المعلمات
DA1.SelectCommand.Parameters.AddWithValue("param1", "%" & TName.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param2", "%" & TFamousName.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param3", "%" & TMotherName.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param4", "%" & TJobs.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param5", "%" & TPlag.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param6", "%" & TAddress.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param7", "%" & TInternationalID.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param8", "%" & ComboBox1.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param9", "%" & TSpecialM.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param10", "%" & TIDCard.Text & "%")

DA1.Fill(DT)
DGV1.DataSource = DT 



RE: ما الخطأ فى هذا الكود - كود البحث المتعدد - Ashraf Elafify - 27-12-23

(27-12-23, 02:14 PM)تركي الحلواني كتب :
(27-12-23, 02:04 PM)Ashraf Elafify كتب :
كود :
 DA1 = New OleDbDataAdapter("SELECT * FROM [TbName] WHERE
                                           [Name] LIKE '%" & TName.Text & "%'
                                        Or [FamousName] LIKE '%" & TFamousName.Text & "%'
                                        Or [MotherName] LIKE '%" & TMotherName.Text & "%'
                                        Or [Jobs] LIKE '%" & TJobs.Text & "%'
                                        Or [Plag] LIKE '%" & TPlag.Text & "%'
                                        Or [Address] LIKE '%" & TAddress.Text & "%'  
                                        Or [InternationalID] LIKE '%" & TInternationalID.Text & "%'  
                                        Or [AccType] LIKE '%" & ComboBox1.Text & "%'
                                        Or [SpeciaM] LIKE '%" & TSpecialM.Text & "%'  
                                        Or [IDCard] LIKE %" & TIDCard.Text & "% ", CN1)

       DA1.Fill(DT)
       DGV1.DataSource = DT
PHP كود :
Dim query As String "SELECT * FROM [TbName] WHERE " &
 
   "[Name] LIKE ? OR " &
 
   "[FamousName] LIKE ? OR " &
 
   "[MotherName] LIKE ? OR " &
 
   "[Jobs] LIKE ? OR " &
 
   "[Plag] LIKE ? OR " &
 
   "[Address] LIKE ? OR " &
 
   "[InternationalID] LIKE ? OR " &
 
   "[AccType] LIKE ? OR " &
 
   "[SpeciaM] LIKE ? OR " &
 
   "[IDCard] LIKE ?"

DA1 = New OleDbDataAdapter(queryCN1)

' تعيين قيم المعلمات
DA1.SelectCommand.Parameters.AddWithValue("param1", "%" & TName.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param2", "%" & TFamousName.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param3", "%" & TMotherName.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param4", "%" & TJobs.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param5", "%" & TPlag.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param6", "%" & TAddress.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param7", "%" & TInternationalID.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param8", "%" & ComboBox1.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param9", "%" & TSpecialM.Text & "%")
DA1.SelectCommand.Parameters.AddWithValue("param10", "%" & TIDCard.Text & "%")

DA1.Fill(DT)
DGV1.DataSource = DT 


شكرا أخى الكريم على سرعه الرد وجزاكم الله خيرا

ولكن عند تشغيل البرنامج وعمل الاستعلام يعطى جميع السجلات ويتجاهل البيانات المدخله فى التكست بوكس


RE: ما الخطأ فى هذا الكود - كود البحث المتعدد - تركي الحلواني - 27-12-23

ارفق مثال ليتم التعديل

مع شرح المطلوب


RE: ما الخطأ فى هذا الكود - كود البحث المتعدد - Taha Okla - 27-12-23

هذا ليس كود بحث متعدد هذا أكثر ما يقال عنه بحث عن أي شيء في أي شيء (Any)
فإذا كان هناك خطأ في أحد مربعات البحث سيعطي رسالة خطأ ..

ربما الخطأ في كودك في الحقل الأخير  : هل نوع الحقل في قاعدة البيانات رقمي (اذا كان رقمي فالكود صحيح)
وإن كان نوع الحق نصي فعليك إضافة إشارة تنصيص منفردة قبل وبعد الإشارة المئوية قبل وبعد مربع النص..


بينما كود البحث المتعدد أن تجعل جميع الحقول تبحث عن نتيجة موجودة في مربع نص واحد فقط ..
وليس الحقل الأول في المربع الأول  والثاني في المربع الثاني  ....إلخ.


وتستطيع تطوير الكود مع الريجكس ليعطيك نتائج تقريبة عن كل ما يخطر ببال من يبحث..
فكلمة واحد مثل اسم يوسف باللاتيني لها أكثر من عشر أشكال للكتابة (بحسب الجنسيات وحسب مزاج موظف تسجيل القيد المدني كيف بيظهر معاه اللفظ)
فمش معقول يبحث عن كل شكل من هذه الأشكال كل مرة على حدا ...
من أجل هذا (تحتاج أن تتعرف على الريجكس واستخداماتها)


RE: ما الخطأ فى هذا الكود - كود البحث المتعدد - Ashraf Elafify - 27-12-23

معذرة أخى الكريم فأنا منتقل جديد من الفيجوال بيسك 6 الى الفيجوال دوت نت

وللأسف هناك اختلافات كثيرة



(27-12-23, 03:22 PM)Taha Okla كتب : هذا ليس كود بحث متعدد هذا أكثر ما يقال عنه بحث عن أي شيء في أي شيء (Any)
فإذا كان هناك خطأ في أحد مربعات البحث سيعطي رسالة خطأ ..

ربما الخطأ في كودك في الحقل الأخير  : هل نوع الحقل في قاعدة البيانات رقمي (اذا كان رقمي فالكود صحيح)
وإن كان نوع الحق نصي فعليك إضافة إشارة تنصيص منفردة قبل وبعد الإشارة المئوية قبل وبعد مربع النص..


بينما كود البحث المتعدد أن تجعل جميع الحقول تبحث عن نتيجة موجودة في مربع نص واحد فقط ..
وليس الحقل الأول في المربع الأول  والثاني في المربع الثاني  ....إلخ.


وتستطيع تطوير الكود مع الريجكس ليعطيك نتائج تقريبة عن كل ما يخطر ببال من يبحث..
فكلمة واحد مثل اسم يوسف باللاتيني لها أكثر من عشر أشكال للكتابة (بحسب الجنسيات وحسب مزاج موظف تسجيل القيد المدني كيف بيظهر معاه اللفظ)
فمش معقول يبحث عن كل شكل من هذه الأشكال كل مرة على حدا ...
من أجل هذا (تحتاج أن تتعرف على الريجكس واستخداماتها)

شكرا اخى الكريم سوف ارفق مثال لشاشه البحث مع قاعده البيانات
بارك الله فيك


(27-12-23, 02:59 PM)تركي الحلواني كتب : ارفق مثال ليتم التعديل

مع شرح المطلوب

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

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

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

واذا اعطى خمس قيم يبحث بهما ويتجاهل الثلاثه الباقيين


وشكر لكم و أسف على الاطاله


RE: ما الخطأ فى هذا الكود - كود البحث المتعدد - تركي الحلواني - 27-12-23

PHP كود :
DT.Clear()
 
       Dim query As String "SELECT * FROM [MTable] WHERE [Name] LIKE @param1 and [FamousName] LIKE @param2 and [MotherName] LIKE @param3 and [Plag] LIKE @param4 and [Address] LIKE @param5 and [InternationalID] LIKE @param6 and [AccType] LIKE @param7 and [IDCard] LIKE @param8"
 
       DA1 = New OleDbDataAdapter(queryCN)
 
       DA1.SelectCommand.Parameters.AddWithValue("@param1""%" TName.Text "%")
 
       DA1.SelectCommand.Parameters.AddWithValue("@param2""%" TFamousName.Text "%")
 
       DA1.SelectCommand.Parameters.AddWithValue("@param3""%" TMotherName.Text "%")
 
       DA1.SelectCommand.Parameters.AddWithValue("@param4""%" TAddress.Text "%")
 
       DA1.SelectCommand.Parameters.AddWithValue("@param5""%" TInternationalID.Text "%")
 
       DA1.SelectCommand.Parameters.AddWithValue("@param6""%" TextBox4.Text "%")
 
       DA1.SelectCommand.Parameters.AddWithValue("@param7""%" TextBox6.Text "%")
 
       DA1.SelectCommand.Parameters.AddWithValue("@param8""%" TIDCard.Text "%")
 
       DA1.Fill(DT)
 
       DGV1.DataSource DT 

لقد واجهة مشكلة في مشروعك لدى جرب التعديل هذا


RE: ما الخطأ فى هذا الكود - كود البحث المتعدد - Ashraf Elafify - 27-12-23

بارك الله فيك اخى الفاضل الكريم وذادك الله تعالى من علمه
وجعله فى ميزان حسناتك.

هذا تمام ما كنت اريد

وشكرا جزيلا على المساعدة Heart