استخدام بناء جملة SELECT 2 في ADO
الكاتب:Eve Cole
وقت التحديث:2009-05-30 19:54:35
استمرارا للمقال السابق:
WHERE يمكن استخدام عوامل التشغيل BETWEEN وLIKE وIN التالية.
بين...و
بين... ويحدد ما إذا كانت قيمة التعبير تقع ضمن النطاق المحدد. بناء الجملة هو:
expr بين value1 و value2
يشير إلى أنه إذا كانت قيمة expr بين value1 وvalue2، فسيُرجع عامل التشغيل Between...And صحيحًا؛ وإلا فسيُرجع خطأ.
يمكنك أيضًا إضافة العملية المنطقية Not expr بين القيمة 1 والقيمة 2 لتحديد الشرط المعاكس، أي أن expr يقع خارج نطاق القيمة 1 والقيمة 2.
إذا كانت قيمة expr أو value1 أو value2 خالية، فسيتم إرجاع قيمة بين...And.
لا يمكنك استخدام حرف البدل * في عامل التشغيل Between...And، على سبيل المثال، لا يمكنك استخدام 100* و500* للبحث عن أرقام رموز المنتج بين 1000 و5000.
يحب
ترغب في العثور على الكلمات الرئيسية المطابقة.
مثل يتبعه تعبير يسرد السلاسل أو القيم الحرفية للسلسلة المراد مقارنتها.
في التعبير، يمكنك استخدام عامل التشغيل Like لمقارنة بيانات الحقل بتعبير سلسلة. يمكنك استخدام حرف البدل * للعثور على بيانات مماثلة، مثل "王*"، وسيقوم الاستعلام بإرجاع البيانات التي تبدأ بـ [王] في جميع الحقول.
الرموز التي يمكن استخدامها في تعبير عامل التشغيل بعد الإعجاب:
%: حرف بدل، يمثل حرفًا واحدًا أو أكثر، على سبيل المثال، سيبحث LIKE jack% عن جميع القيم الحرفية للسلسلة التي تبدأ بـ jack، وسيبحث LIKE %jack% عن القيم الحرفية للسلسلة بما في ذلك jack.
_: حرف بدل مكون من حرف واحد، على سبيل المثال، LIKE jack_ سيبحث عن سلسلة حرفية مثل jack1، وjacka، وما إلى ذلك، وLIKE _jack_ سيبحث عن سلسلة حرفية مثل ajackb، وcjackf، وما إلى ذلك.
[xy]: حدد نطاق الأحرف، على سبيل المثال، LIKE [ac]jack سوف يعثر على نص سلسلة مثل ajack1، وbjack، وcjack، وما إلى ذلك.
[^xy]: حدد نطاق الأحرف المستبعد، على سبيل المثال، LIKE [^ac]jack لن يعثر على سلسلة حرفية مثل ajack1، وbjack، وcjack، وما إلى ذلك.
في المثال التالي، ستحصل على بيانات تبدأ بالحرف A ويتبعها أي حرف بين B وG ورقم:
مثل "A[BG]#"
في
في صيغة التشغيل، نطاق محدود.
بناء الجملة هو:
expr [Not] In(value1, value2,...)
من بينها، expr هو حقل تعبير العملية. value1، value2، ... هي قوائم النطاق المحددة.
على سبيل المثال، يمكنك استخدام عامل التشغيل In لتحديد المدينة التي يجب أن يعيش فيها الطلاب، وهي قوانغتشو أو شنتشن أو شانتو:
يختار *
من الطلاب
أين المدينة ('مدينة قوانغتشو'،'مدينة شنتشن'،'مدينة شانتو')
دعونا نلقي نظرة على مثال لبرنامج ASP يستخدم أمر SQL هذا.
يمكننا استخدام جملة IN لتحديد النطاق، على سبيل المثال، برنامج ASP rs24.asp هو كما يلي، [SELECT name, subject, Score From test Where Score In (SELECT Score From Ex Exam Where Score >= 60)]، استخدم. لمعرفة أن النتيجة أكبر من أو تساوي 60 نقطة سجل:
<%
تعيين conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"
تعيين rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "اختر الاسم، الموضوع، النتيجة من الامتحان حيث النتيجة (اختر النتيجة من الامتحان حيث النتيجة >= 60)"
rs2.Open SqlStr,conn1,1,1
Response.اكتب "<p>في: لا يتم احتساب الدرجات الأقل من 60"
افعل بينما لا rs2.EOF
الاستجابة.اكتب "<BR>" & rs2("الاسم") & " " & rs2("الموضوع") & "النتيجة: " & rs2("النتيجة")
rs2.MoveNext
حلقة
rs2.Close
%>
يستخدم برنامج ASP أعلاه rs24.asp متصفحًا على جانب العميل لتصفح نتائج التنفيذ وعرض السجلات بدرجات أكبر من أو تساوي 60 نقطة.
ليس في
ليس في التعبير يعني أنه لا ينتمي إلى النطاق المحدد.
دعونا نلقي نظرة على مثال لاستخدام أمر SQL هذا في برنامج ASP.
يمكننا استخدام جملة Not In لتحديد السجلات التي لا ينبغي عرضها، على سبيل المثال، برنامج ASP rs24.asp هو كما يلي، [SELECT name, subject, Score From Exam Where Score Not In (SELECT Score From Exam Where Score.) >= 60)]، استخدم IN ابحث عن السجلات ذات النقاط التي لا تزيد عن أو تساوي 60 نقطة، أي السجلات ذات النقاط التي تقل عن 60 نقطة:
<%
تعيين conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"
تعيين rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "حدد الاسم، والموضوع، والنتيجة من الاختبار الذي لا توجد فيه النتيجة (اختر النتيجة من الاختبار حيث تكون النتيجة >= 60)"
rs2.Open SqlStr,conn1,1,1
Response.اكتب "<p>ليس موجودًا: لا يتم احتساب الدرجات التي تزيد عن 60"
افعل بينما لا rs2.EOF
الاستجابة.اكتب "<BR>" & rs2("الاسم") & " " & rs2("الموضوع") & "النتيجة: " & rs2("النتيجة")
rs2.MoveNext
حلقة
rs2.Close
%>
بالنسبة لبرنامج ASP أعلاه rs24.asp، استخدم المتصفح الموجود على جانب العميل لتصفح نتائج التنفيذ وعرض السجلات ذات الدرجات التي لا تزيد عن 60 نقطة أو تساويها.