غالبًا ما نواجه مشاكل في استعلام متعددة ، وغالبًا ما تجعل عبارات SQL الطويلة الناس يشعرون بالارتباك. خاصة عندما يتم ملء العميل جزئيًا في ظروف الاستعلام ، سيكون من الصعب استخدام الطرق العادية.
يستخدم ما يلي بذكاء التكوين المستمر من حيث 1 = 1 (في الواقع ، بحيث تكون قيمتها صحيحة) لحل هذه المشكلة.
ملخص:
عنوان معلومات الموضوع
'اسم الشركة المنشور اسم الشركة
محتوى معلومات نشر المحتوى
عنوان شركة العنوان
مقدمة إلى "المعلومات"
لاحظ التعليمات ذات الصلة
يتم تقديم القيم المذكورة أعلاه حسب النموذج ، ثم تم تمريرها: الموضوع = trim (request.form (الموضوع)) ، وما إلى ذلك للحصول على القيمة المقابلة.
<٪
هذه الوظيفة أمر بالغ الأهمية!
وظيفة SQL (A ، B ، SQLS)
إذا كان B <> "إذا لم يقدم العميل هذه القيمة ، فلن يتم إنشاء عبارة SQL المقابلة.
SQLS = SQLS & & & A & Like "٪ & B & ٪"
إنهاء إذا
SQL = SQLS
وظيفة نهاية
'--------------- اتصل على قاعدة البيانات
تعيين conn = server.createBject (adodb.connection)
DBPATH = server.mappath (/database/MYDB.MDB)
Conn.Open Driver = {Microsoft Access (*.mdb)} ؛
تعيين rs = server.createObject (adodb.oldset)
SQLS = حدد * من mytable حيث 1 = 1
"يمكن استدعاء المكالمات التالية أعلاه ، ويمكن استدعاء العديد من المكالمات (تعسفيًا من الناحية النظرية)
SQLS = SQL (الموضوع ، الموضوع ، SQLS)
SQLS = SQL (الشركة ، الشركة ، SQLS)
SQLS = SQL (المحتوى ، المحتوى ، SQLS)
SQLS = SQL (العنوان ، العنوان ، SQLS)
SQLS = SQL (البث ، البث ، SQLS)
SQLS = SQL (ملاحظة ، ملاحظة ، SQLS)
SQLS = SQLS و Order بواسطة ID DESC
Rs.OOPEN SQLS ، CONN ، 3،2
٪>
الخلاصة: إذا لم يكن هناك وظيفة وظيفة رئيسية SQL (A ، B ، SQLS) ، يمكننا أن نتخيل عدد الأحكام التي تحتاج إلى الحكم على واحدة تلو الأخرى!