غالبًا ما نواجه مشكلات استعلام متعددة، وغالبًا ما تؤدي عبارات SQL الطويلة إلى إرباك الأشخاص. خاصة عندما يملأ العميل شروط الاستعلام جزئيًا، سيكون استخدام الطرق العادية أكثر صعوبة. ما يلي يستخدم بذكاء الهوية حيث 1=1 (في الواقع هناك الكثير، فقط دعها بقيمة TRUE) لحل هذه المشكلة. "عنوان معلومات الموضوع."
'company اسم الشركة التي تنشر المعلومات
'محتوى محتوى المعلومات المنشورة
'عنوان عنوان الشركة
"المعلومات الملف الشخصي للشركة
'لاحظ التعليمات ذات الصلة
يتم إرسال القيم أعلاه عن طريق النموذج، ومن ثم يتم الحصول على القيم المقابلة من خلال: subject=trim(Request.Form(subject)) وما إلى ذلك.
<%
'هذه الوظيفة حاسمة! --------------------------
وظيفة SQL (أ، ب، SQLS)
إذا كان b<> ثم "إذا لم يرسل العميل هذه القيمة، فلن يتم إنشاء عبارة SQL المقابلة."
sqls=sqls & و & a & مثل '% & b & %'
نهاية إذا
sql=sqls
وظيفة النهاية
'-----------------اتصل بقاعدة البيانات
تعيين conn=Server.CreateObject(ADODB.Connection)
DBpath=Server.MapPath(/database/mydb.mdb)
Conn.Open driver={Microsoft Access Driver (*.mdb)};pwd=;dbq= & DBpath
تعيين rs=Server.CreateObject(ADODB.Recordset)
sqls=select * من mytable حيث 1=1
"فقط اتصل بالوظيفة المذكورة أعلاه أدناه، يمكنك الاتصال بها عدة مرات (نظريًا أي منها)"
sqls=sql(موضوع,موضوع,sqls)
sqls=sql(شركة،شركة،sqls)
sqls=sql(المحتوى،المحتوى،sqls)
sqls=sql(العنوان،العنوان،sqls)
sqls=sql(المعلومات،المعلومات،sqls)
sqls=sql(ملاحظة،ملاحظة،sqls)
sqls=sqls & الترتيب حسب المعرف
rs.open SQLS، كون، 3،2
%>
إذا لم تكن هناك وظيفة أساسية SQL (a، b، sqls)، فيمكننا أن نتخيل عدد الأحكام المطلوبة واحدة تلو الأخرى!