أبسط حل لاستفسارات متعددة
[مقدمة]
غالبًا ما نواجه مشاكل في استعلام متعددة ، وغالبًا ما تجعل عبارات SQL طويلة الرهبان مرتبكين. خاصة عندما يملأ جزء العميل ظروف الاستعلام ، سيكون من الصعب استخدام الطرق العادية.
يستخدم ما يلي بذكاء هوية "حيث 1 = 1" (في الواقع ، إنه كثير ، فقط اترك قيمة حقيقية) لحل هذه المشكلة.
[ملخص النص]
عنوان معلومات الموضوع
اسم الشركة
محتوى المحتوى لنشر المعلومات
عنوان شركة العنوان
"ملف تعريف شركة المعلومات
لاحظ التعليمات ذات الصلة
يتم تقديم جميع القيم المذكورة أعلاه حسب النموذج ، ثم يتم الحصول على القيم المقابلة بواسطة: الموضوع = trim (request.form ("الموضوع")) إلخ.
<٪
هذه الوظيفة أمر بالغ الأهمية! ------------------------------------------------------------------------------------------------------------------------------------
FunctionSql (A ، B ، SQLS)
IFB <> "" ثم "إذا لم يقدم العميل هذه القيمة ، فلن يتم إنشاء عبارة SQL المقابلة.
SQLS = SQLS & "و" & A & "Like" ٪ "& B &" ٪ ""
Endif
SQL = SQLS
الوظيفية
'-------------------------------------------------------------------------------------------------------------------------------
setConn = server.createObject ("adodb.connection")
DBPath = server.mappath ("/database/mydb.mdb")
conn.open "driver = {microsoft accessDriver (*
setRs = server.createObject ("adodb.recordset")
SQLS = "SELECT*fromMyTableherwhere1 = 1"
"المكالمات التالية الوظيفة أعلاه ، وهناك العديد من المكالمات (من الناحية النظرية)
SQLS = SQL ("الموضوع" ، الموضوع ، SQLS)
SQLS = SQL ("الشركة" ، الشركة ، SQLS)
SQLS = SQL ("المحتوى" ، المحتوى ، SQLS)
SQLS = SQL ("العنوان" ، العنوان ، SQLS)
SQLS = SQL ("Infomation" ، المعلومات ، SQLS)
SQLS = SQL ("ملاحظة" ، ملاحظة ، SQLS)
SQLS = SQLS و "Orderbyiddesc"
Rs.Opensqls ، Conn ، 3،2
٪>
[خاتمة]
إذا لم يكن هناك وظائف رئيسية (A ، B ، SQLS) ، يمكننا أن نتخيل عدد الأحكام اللازمة واحدة تلو الأخرى!