موصى به: تحدث عن كتابة التعليمات البرمجية المشابهة لوظائف محرك البحث باستخدام ASP أولاً ، إنشاء قاعدة بيانات وصول. يوجد جدول urlindex في المكتبة ، حيث يتم فهرسة حقول عنوان URL والكلمات الرئيسية على التوالي ، على النحو التالي: ما يلي هو المحتوى المشار إليه: نص URL (فهرس
هناك الكثير من فئات تشغيل قاعدة البيانات التي تبحث عبر الإنترنت. أنا لست أفضل من هؤلاء ، لكنني كتبت لهم نفسي واستخدمتهم أكثر. لذلك لا يوجد شيء مميز عني ، أنا فقط أستخدم عاداتي. أما بالنسبة للكفاءة والجوانب الأخرى ، فالرجاء إعطائي النصيحة! !
رمز البرنامج:
| ما يلي هو المحتوى المقتبس: <٪ فئة dbClass '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- وصف متغير 'conn ------------------------------------------------------------------------------------------------------------------------- 'Strsql ------------------------------------------------------------------------------------------------------------------------ 'vtbname ---------------------------------------------------------------------------------------------------------------------- 'VPKEY ---------------------------------------------------------------------------------------------------------------------------- 'VPGFields --------- استعلام الحقول المراد عرضها على الصفحة 'VPGSize ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'VCurrpg ----------------------------------------------------------------------------------------------------------------------------- 'Vconditions ---- ظروف الترحيل الاستعلام 'vorderby ------------- فرز صفحات الاستعلام '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Private Conn ، StrSQL ، VTBName ، VPKEY ، VPGFields ، VPGSize ، VCurrpg ، vConditions ، vorderby تهيئة الفصل sub sub class_initialize () عندما تكون قاعدة بيانات MS SQL ، قم بتعيين المتغيرين التاليين اسم "Dim Dbserver" أو عنوان IP لخادم قاعدة البيانات اسم قاعدة البيانات "Dim DBNAME" Dim DBPath 'إذا كانت قاعدة بيانات وصول ، فقم بتعيين مسارها هنا قاتمة dbuser 'اسم المستخدم تسجيل الدخول لقاعدة البيانات كلمة مرور تسجيل الدخول إلى DIM DBPASS قاتمة connstr dbpath = /testasp/data/data.mdb "قم بتعيين مسار قاعدة البيانات dbuser = المسؤول DBPASS = 123456 "إذا كان وصولًا ولديه كلمة مرور connstr = provider = microsoft.jet.oledb.4.0 ؛ data source = & server.mappath (dbath) & _ ؛ معرف المستخدم = & dbuser & ؛ password = ؛ Jet OLEDB: كلمة مرور قاعدة البيانات = & dbpass "إذا كان الوصول وليس هناك كلمة مرور 'connstr = provider = microsoft.jet.oledb.4.0 ؛ مصدر البيانات = & server.mappath (dbath) إذا كانت قاعدة بيانات MS-SQL 'connstr = provider = sqloledb ؛ معرف المستخدم = & dbuser & ؛ كلمة المرور = و dbpass و _ ' الكتالوج الأولي = & dbname & ؛ مصدر البيانات = & dbserver عند استئناف الخطأ التالي تعيين conn = server.createBject (adodb.connection) Conn.Open Connstr errmsg الاتصال بقاعدة البيانات نهاية الفرعية نهاية الفصل sub sub class_terminate () conn.close تعيين conn = لا شيء نهاية الفرعية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- "تعيين قيم لمتغيرات الفصل '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- قم بتعيين عبارات SQL الممتلكات العامة دع SQLSTR (قيم BYVAL) strsql = القيم نهاية الملكية قم بتعيين اسم الجدول لصفحة الاستعلام الممتلكات العامة دع tbname (قيم byval) vtbname = القيم نهاية الملكية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- قم بتعيين المفتاح الأساسي لجدول الاستعلام المليء بالاستعلام الممتلكات العامة تسمح لـ PKEY (قيم BYVAL) VPKEY = القيم نهاية الملكية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- قم بتعيين الحقول المعروضة الممتلكات العامة دع PGFields (قيم Byval) VPGFields = القيم نهاية الملكية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- قم بتعيين عدد السجلات المعروضة لكل صفحة الممتلكات العامة تتيح pgsize (قيم byval) VPGSize = القيم نهاية الملكية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- قم بتعيين عدد الصفحات المعروضة حاليًا الممتلكات العامة دع Currpg (قيم Byval) vCurrpg = القيم نهاية الملكية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- قم بتعيين شروط الاستعلام الممتلكات العامة تدع الظروف (قيم Byval) إذا كان (القيم)> 0 ثم vConditions = حيث والقيم آخر VConditions = حيث 1 = 1 إنهاء إذا نهاية الملكية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- قم بتعيين نوع الاستفسارات الممتلكات العامة دع Orderby (قيم Byval) إذا كان (القيم)> 0 ثم vorderby = ترتيب بواسطة وقيم آخر vorderby = القيم إنهاء إذا نهاية الملكية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- احصل على إجمالي عدد السجلات الممتلكات العامة GET VRSCOUNT () إذا vCurrpg = 1 ثم SQLC = حدد COUNT (& VPKEY &) كما idcount من & vtbname & & vconditions SET RSC = Server.CreateBject (ADODB.RecordSet) RSC.Open SQLC ، Conn ، 0،1 rsnum = RSC (idcount) RSC.Close تعيين RSC = لا شيء إذا rsnum> 0 ثم استجابة VRScount = rsnum آخر VRScount = 0 إنهاء إذا آخر vrscount = request.cookies (irecord) إنهاء إذا نهاية الملكية احصل على إجمالي عدد الصفحات الممتلكات العامة الحصول على vpgcount () IRSCOUNT2 = VRSCOUNT () إذا كان irscount2 mod vpgsize = 0 ثم VPGCount = int (IRSCOUNT2/VPGSIZE) آخر VPGCount = int (IRSCOUNT2/VPGSIZE) 1 إنهاء إذا نهاية الملكية الاستعلام عن قاعدة البيانات الوظيفة العامة RSDB () عند استئناف الخطأ التالي "نتائج الاستعلام البسيطة "تعيين rsdb = server.createBject (adodb.recordset) 'RSDB.Open Strsql ، Conn ، 1،3 تعيين RSDB = conn.execute (strsql) قاعدة بيانات errmsg استعلام وظيفة نهاية "إضافة ، تحديث ، حذف سجلات قاعدة البيانات الوظيفة العامة updb () عند استئناف الخطأ التالي conn.execute (strsql) سجلات قاعدة البيانات ERRMSG تحرير وظيفة نهاية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- "وظيفة مجموعة السجلات المستخدمة لتنفيذ الترحيل الوظيفية العامة أجهزة الاستدعاء () عند استئناف الخطأ التالي النجوم الخافتة startrs = (vCurrpg-1)*vpgsize '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- إذا كنت تستخدم هذا البيان ، فأنت بحاجة إلى تعديل الكود وفقًا للمعلمات. على وجه التحديد ، إذا كان هذا النوع ASC ، فعند تغيير إلى> ، وتم تغيير دقيقة إلى حد أقصى إذا startrs = 0 ثم 'strsql = حدد TOP & VPGSIZE & & VPGFIELDS & من & VTBNAME & & vConditions & & vorderby ' آخر 'strsql = حدد TOP & VPGSIZE & & VPGFIELDS & من & VTBNAME & & VCONDITIONS & & VPKEY & < 'strsql = strsql & (حدد min (& vpkey &) من (Select Top & Startrs & & Vpkey & from 'strsql = strsql & vtbname & & vconditions & & vorderby &) as idtable) & vorderby 'end if '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- إذا startrs = 0 ثم strsql = حدد TOP & VPGSIZE & & VPGFIELDS & من & VTBNAME & & vConditions & & vorderby آخر strsql = حدد TOP & VPGSIZE & & VPGFIELDS & من & VTBNAME & & VCONDITIONS و & VPKEY & NOT strsql = strsql & in (حدد Top & Startrs & & vpkey & from & vtbname & & vconditions & & vorderby strsql = strsql &) & vorderby إنهاء إذا '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Set Pagers = server.createBject (Adodb.RecordSet) Pagers.Open Strsql ، Conn ، 0،1 ERRMSG سجل ترقيم وظيفة نهاية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- الوظيفة العامة sqlpage () عند استئناف الخطأ التالي تعيين sqlpage = server.createBject (adodb.recordset) تعيين cm = server.createBject (adodb.command) CM.CommandType = 4 cm.ActiveConnection = conn cm.CommandText = sp_util_page C.M.Parameters (1) = VPGFields cm.Parameters (2) = vtbname cm.Parameters (3) = Vconditions cm.Parameters (4) = vorderby cm.Parameters (5) = vpkey cm.Parameters (6) = vCurrpg C.M.Parameters (7) = vpgsize cm.Parameters (8) = vrscount () cm.Parameters (9) = sqlpage.cursorlocation = 3 sqlpage.locktype = 1 sqlpage.Open سم ERRMSG سجل ترقيم وظيفة نهاية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- أغلق مجموعة السجلات objrs '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- الوظيفة العامة CRS (Byval Objrs) objrs.close () تعيين objrs = لا شيء وظيفة نهاية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- الوظيفة العامة Pagenav () IRSCOUNT = VRSCOUNT () "إجمالي عدد السجلات myPage = vCurrpg'currpg'currpg'current عدد صفحة pgCount = vpgCount () 'إجمالي عدد الصفحات prepage = myPage-1 إذا كان prepage <1 ثم prepage = 1 إنهاء إذا NextPage = myPage 1 إذا التالي page> pgcount ثم NextPage = pgCount إنهاء إذا pagestr = <div id = fy> <span id = rpc> هناك إجمالي من & IRSCOUNT & RECORDS & MYPAGE &/& PGCOUNT & </span> pagestr = pagestr & <a href = '؟ currpage = 1' class = 'aw'> home </a> <a href = '؟ currpage = & prepage &' class = 'aw'> الصفحة السابقة </a> إذا (myPage-1) mod 4 = 0 ثم أول صفحة = myPage elseif int ((myPage-1)/4) = 0 ثم الصفحة الأولى = 1 آخر firstpage = int ((myPage-1)/4)*4 1 إنهاء إذا PENDPAGE = FirstPage 4 Astr = لأت i = firstpage إلى PENDPAGE Astr = Astr & <a href = '؟ currpage = & i &' إذا كان CSTR (myPage) = CSTR (i) ثم Astr = Astr & id = 'currp' إنهاء إذا Astr = Astr &> & i & </a> إذا كنت> pgcount-1 ثم الخروج من أجل التالي Astr = Astr & <a href = '؟ currpage = & nextpage &' class = 'aw'> الصفحة الأخيرة </a> <a href = '؟ currpage = & pgcount &' class = 'aw'> الصفحة الأخيرة </a> </iv> Pagestr = Pagestr & Astr Pagenav = pagestr وظيفة نهاية جدول الإخراج مع وظيفة الترحيل وظيفة showtb (byval tbtil) SET RSTB = PAGERS () 'إذا كان إجراءً مخزنًا ، اتصل بـ SQLPAGE () TBRS = rstb.getRows () CRS (RSTB) itblrow = ubound (TBRS ، 2) itblcol = ubound (tbtil) TBSTR = <table border = '0' cellpacing = '0' cellpadding = '0' cellpadding = '0'> <tbody> لـ R1 = 0 إلى Itblcol tr1 = tr1 & <td width = '& split (tbtil (r1) ، |) (1) &'> & split (tbtil (r1) ، |) (0) & </td> التالي tr1 = <tr> & tr1 & </tr> ل ri = 0 إلى itblrow لـ CI = 0 إلى Itblcol td = td & <td width = '& split (tbtil (ci) ، |) (1) &'> & tbrs (ci ، ri) & </td> التالي tr = tr & <tr> & td & </r> TD = فارغة التالي tbtil = فارغة TBRS = فارغة Response.write (TBSTR & TR1 & TR & <TR> <td colspan = '& itblcol 1 &'> & pagenav () & </td> </tbod TBSTR = فارغة tr1 = فارغة tr = null وظيفة نهاية اطبع عبارة SQL بحيث يتم التحقق من ما إذا كانت هناك أي أخطاء PRNSQL العام () العام () استجابة. write (strsql) نهاية الفرعية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'وظائف تحمل خطأ '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- وظيفة خاصة errmsg (errmsg) إذا err.number <> 0 ثم إذا كانت هناك مشكلة ، فيمكنك استخدام الرمز هنا لطباعة معلومات الوصف لسهولة التصحيح. التعليق استجابة. write (CSTR (err.description) & <br>) err.clear استجابة. write <font color = '#ff0000'> & errmsg & error </font> 'تعليق استجابة. إنهاء إذا وظيفة نهاية '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- تنتهي وظيفة تحمل الخطأ '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- الطبقة النهائية ٪> |
المشاركة: ملفات ملفات ملف في رمز العينة الموضح في هذا القسم ، يتم توفير أمثلة واقعية لتوضيح العديد من الميزات المتوفرة في نمط كائن نظام الملفات. يعرض هذا الرمز جميع ميزات كيفية استخدام أنماط الكائنات معًا ، وكيفية استخدامها بفعالية في الكود الخاص بك