فيما يخص الفلترة بحقول متعددة
#3
افض حل باستخدام  هي التحقق من كل شرط وفي حال تحققه يضاف الكود الخاص به لانك لو عملت لكل الاحتمالات فسينتهي الامر بمئات الاسطر والتي لافائدة منها
مثلا  لديك اسم المستخدم والتاريخ والحركة

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

تقوم اولاً باخذ اسم المستخدم وتقوم باضافة الشرط الى الاستعلام


كود :
var qu:string='select * from  transaction where (1=1)'; if username.text<>'' qu:=qu+' and username='+quotedtostr( username.text ); if transdatechk.checked then// qu:=qu+' and date between :a   and :b'; if transtype.text<>'' then qu:=qu+' and transtype ='+quotedtostr( transtype.text );

هذا كمثال بسيط لاحظ اني كل مااتحقق من شرط ويكون موجود يقوم باضافة نص الى متغير من  نوع string  في الاخير اقوم باسناد المتغير هذا الى مكون query واقوم بتنفيذه
ملاحظه: لتجنب injection استخدم البارامترات بدل الاسناد المباشر

بالتوفيق
[-] كل من 1 user says قال شكرا ل محمد الدرة على المشاركة المفيدة
  • أبو معاذ
الرد


الردود في هذا الموضوع
RE: طلب مساعدة فيما يخص الفلترة بحقول متعددة - بواسطة محمد الدرة - 05-03-2023, 07:48 AM

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


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