موصى به: المقارنة بين تقنية ASP و PHP و CGI و JSP وغيرها من التقنيات في الوقت الحاضر ، فإن لغات الويب الديناميكية الثلاث الأكثر شيوعًا هي ASP (صفحات الخادم النشط) ، و JSP (صفحات Javaserver) ، و PHP (المعالج المسبق للنص التشعبي). مقدمة ASP PULL NAME PAGES Active Server هي بيئة تطوير من جانب خادم الويب.
بعد قراءة الكثير من المقدمات ، أعرف أن كفاءة التنفيذ لـ Set RS = Conn.execute (SQL) أعلى بكثير من RS.Open SQL ، Conn ، 1،1 ، ولكن طريقة التنفيذ الخاصة بـ RS = Conn.Execute (SQL) لها أيضًا العديد من أوجه القصور. بادئ ذي بدء ، لا يحتوي على سمات ترحيل ، مثل Rs.Pagesize و Rs و Absolutepage وغيرها من السمات. وبهذه الطريقة ، على الرغم من أن تعيين RS = conn.execute (SQL) يتم تنفيذه بشكل أسرع بهذه الطريقة ، إلا أنه لا يمكن أن يتلاشى بالطريقة العادية. ماذا علي أن أفعل؟ ؟
في اليوم التالي ، راجعت المعلومات عبر الإنترنت وفكرت فجأة فيما إذا كان بإمكاني ذكر البيانات المطلوبة إلى صفيف ثم تراجع الصفيف؟ أولاً ، أخرجت نتائج مجموعة الاستعلام rs = conn.execute (SQL) من خلال Rs.GetRows () وربطها بمجموعة. لذلك بحثت عن المنشورات المفرطة على كل موقع ويب. على الرغم من أنني وجدت العديد من المنشورات المفعمة بالكفاءة (بما في ذلك الإجراءات المخزنة ، وما إلى ذلك) ، فقد وجدت أن جميعها بحاجة إلى تنفيذها من خلال SQL ، أي عند قلب الصفحة ، كنت بحاجة أيضًا إلى تنفيذ عبارات SQL. في هذا الوقت ، كنت بالدوار ، وكان التحسين الوحيد هو عبارات SQL فقط. لم يكن لدي أي خيار سوى العمل بجد على نفسي! وأخيرا ، تم الانتهاء من مسودة خشنة لترحيل الصفيف. لم يكن الرمز كاملًا جدًا. دع الجميع يدرسونها معًا! الرمز كما يلي:
أولاً ، هناك صفحة استعلام index.asp:
| <html xmlns = http: //www.w3.org/1999/xhtml> <head> <meta http-equiv = content-type content = text/html ؛ charset = gb2312 /> <title> Unted Document </title> </head> <Body> <form id = searchform name = searchform method = post action = search.asp؟ act = cha> <div class = input> <INPUT ID = الكلمة الرئيسية onMouseover = this.focus () title = ابحث بسرعة سجل الرسائل الخاص بك onfocus = this.select () class = in maxLength = 35 name = keyword /> <حدد النمط = العرض: 120px ؛ الهامش: -25px name = ChannelId> <value Option = k2> message </soph> <value Option = K1> محتوى الرسالة </ebot> </select> <input id = search_btn type = إرسال القيمة = الاستعلام> </div> </form> </body> </html> رمز Search.asp: <html xmlns = http: //www.w3.org/1999/xhtml> <head> <meta http-equiv = content-type content = text/html ؛ charset = gb2312 /> <title> Unted Document </title> </head> <body> <٪ إذا طلب Search_type = request.form (ChannelId) الكلمات الرئيسية = request.form (الكلمة الرئيسية) إذا كان search_type = k1 ثم ابحث وفقًا لمحتوى الرسالة SQL = SELECT * من GBOOK_REC حيث G_CONTENT مثل "٪ والكلمات الرئيسية و ٪" elseif search_type = k2 ثم "إذا كان search_type = k2 ثم ابحث بالرسالة SQL = SELECT * من GBOOK_REC حيث G_NAME مثل "٪ والكلمات الرئيسية و ٪" آخر استجابة إنهاء إذا تعيين rs = conn.execute (SQL) إذا كان rs.eof و rs.bof ثم ٪> <div class = search> لم يتم العثور على السجل الذي تريده! </div> <٪ استجابة آخر aresults = rs.getRows () 'أخرج البيانات ووضعها في صف الصفيف التطبيق (البيانات) = aresults تعيين روبية = لا شيء Conn.Close أغلق قاعدة البيانات إنهاء إذا إنهاء إذا aresults = التطبيق (البيانات) Dim I ، Row ، Pagesize ، epage ، Numb ، Pagecount ، Fenye Numb = Ubound (aresults ، 2) 1 'إجمالي عدد صفوف السجلات pagesize = 2 'عدد لكل صفحة إذا كانت Numb Mod Pagesize = 0 ، فحكم على العدد الإجمالي للصفحات pageCount = int (Numb/Pagesize) آخر pageCount = int (numb/pagesize) 1 إنهاء إذا الحلقة = request.querystring (صفحة) إذا كانت epage = ثم epage = 1 لـ i = (epage-1)*pagesize to epage*pagesize-1 إذا كنت ubound (aresults ، 2) أو أنا <0 ثم الخروج من أجل ٪> <div class = content> <ul> <li> السجل <٪ = I 1 ٪> </li> <li> الرسالة: <٪ = aresults (1 ، i) ٪> </li> <li> المحتوى: <٪ = aresults (2 ، i) ٪> </li> <li> الوقت: <٪ = aresults (3 ، i) ٪> </li> <li> IP: <٪ = aresults (5 ، i) ٪> </li> </ul> </div> <٪ التالي إذا خدر> pagesize ثم fenye = <a href = search.asp؟ page = 1> الصفحة الرئيسية </a> fenye = fenye & <a href = search.asp؟ page = & epage-1 & title = & epage-1 &> الصفحة السابقة </a> fenye = fenye & <a href = search.asp؟ page = & epage 1 & title = & epage 1 &> الصفحة الأخيرة </a> fenye = fenye & <a href = search.asp؟ page = & pagecount &> الصفحة الأخيرة </a> fenye = fenye & <br> Fenye = Fenye والعدد الإجمالي للصفحات و PageCount و ، الصفحة الحالية و Epage & ، إجمالي السجل هو: & numb استجابة. write fenye إنهاء إذا ٪> </body> </html> |
ملخص: أعتقد أن الكود أعلاه لا يلزم توصيله بقاعدة البيانات باستثناء الاستعلام الأول ، وهو مفيد جدًا لتوفير الموارد عند استفسارات البيانات الكبيرة أو عندما يكون هناك عدد كبير من الأشخاص الذين يتصلون! بالإضافة إلى ذلك ، احفظ صفيف الاستعلام على كائن التطبيق ، ويمكنك أيضًا تحديد ما استفاده شخص ما بناءً على التطبيق (البيانات) (اسم المستخدم). ومع ذلك ، فإن هذا الرمز هو النموذج الأول وسيكون أكثر من كافية لتحسينه في المستقبل! آمل أن ينتبه الجميع ودعمهم ، شكرًا لك!
تنزيل رمز الاختبار
مشاركة: رمز مصدر غرفة الدردشة البسيطة المجانية chat.html ما يلي هو المحتوى المشار إليه: <html> <head> <title> الدردشة </title> </head> <الإطارات صفوف =*، 100> و