Рекомендуется: поговорить о написании кода, аналогичного функциям поисковой системы с помощью ASP Во -первых, создайте базу данных доступа. В библиотеке есть таблица Urlindex, где поля URL и ключевые слова индексируются соответственно, следующим образом: Ниже приведено указанное содержание: текст URL (индекс
Есть много категорий операций базы данных, которые ищут онлайн. Я не лучше их, но я просто написал их сам и использовал их больше. Так что во мне нет ничего особенного, я просто использую свои привычки. Что касается эффективности и других аспектов, пожалуйста, дайте мне совет! !
Код программы:
| Ниже приведено цитируемое содержание: <% Класс dbclass '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Переменное описание 'Conn -------------------------------------------------------------------------------------------------------------------------------- 'Strsql ---------------------------------------------------------------------------------------------------------------------------------------------------------- 'vtbname ------------------------------------------------------------------------------------------------------------------------ 'Vpkey ------------------------------------------------------------------------------------------------------------------------------------------ 'vpgfields --------- Запросите поля, которые будут отображаться на странице 'vPgSize-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'vcurrpg -------------------------------------------------------------------------------------------------------------------------------- 'vconditions ---- Условия подтяжки запроса 'vorderby ----------------- Сортировка страниц запросов '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Private Conn, STRSQL, VTBNAME, VPKEY, VPGFILDS, VPGSIZE, VCURRPG, VCONDITIONS, VORDERBY 'Инициализация класса private sub class_initialize () «Когда это база данных MS SQL, установите следующие две переменные Имя Dim DBServer или IP -адрес сервера базы данных Имя базы данных DIM DBNAME Dim dbpath 'Если это база данных доступа, установите свой путь здесь Dim dbuser 'Имя пользователя входа в систему базы данных Пароль входа в домен Dm Dbpass Dim Connstr dbpath = /testasp/data/data.mdb 'Установите путь базы данных dbuser = admin DBPass = 123456 'Если это доступ, и у него есть пароль connstr = provider = microsoft.jet.oledb.4.0; data source = & server.mappath (dbpath) & _ ; Идентификатор пользователя = & dbuser &; password =; jet oledb: database password = & dbpass 'Если это доступ и нет пароля 'connstr = provider = microsoft.jet.oledb.4.0; 'Если это база данных MS-SQL 'connstr = provider = sqloledb; Идентификатор пользователя = & dbuser &; Пароль = & dbpass & _ '; Первоначальный каталог = & dbname &; Источник данных = и dbserver при ошибке резюме следующим Установить conn = server.createObject (adodb.connection) Conn.Open Connstr Errmsg подключитесь к базе данных Конец суб 'Конец класса Private sub class_terminate () Conn.close установить conn = ничего Конец суб '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Установить значения для переменных класса '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Установить заявления SQL Общественная собственность Let SQLSTR (Byval значения) strsql = значения Конец собственности 'Установите имя таблицы страницы запроса Публичная собственность позвольте tbname (Byval значения) vtbname = значения Конец собственности '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Установите первичный ключ таблицы запросов Общественная собственность пусть Пки (ценности байваль) vpkey = значения Конец собственности '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Установите отображаемые поля Общественная собственность пусть Pgfields (Byval значения) vpgfields = значения Конец собственности '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Установите количество записей, отображаемых на страницу Общественная собственность пусть pgsize (ценности Byval) vpgsize = значения Конец собственности '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Установите количество отображаемых в настоящее время страниц Общественная недвижимость пусть Currpg (Byval значения) vcurrpg = значения Конец собственности '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Установите условия запроса Общественная собственность позволяет условиям (ценности Byval) Если Лен (значения)> 0, тогда vconditions = где и значения еще Vconditions = где 1 = 1 конец, если Конец собственности '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Установите запросы Общественная собственность Let Orderby (Byval значения) Если Лен (значения)> 0, тогда vorderby = order by & values еще vorderby = значения конец, если Конец собственности '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Получите общее количество записей Общественная недвижимость получить vrscount () Если vcurrpg = 1, то sqlc = select count (& vpkey &) как idcount from & vtbname & & vconditions Установить rsc = server.createObject (adodb.recordset) RSC.Open SQLC, Conn, 0,1 Rsnum = rsc (idcount) RSC.Close Установить RSC = ничего Если rsnum> 0 тогда response.cookies (Ircord) = rsnum 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 () при ошибке резюме следующим «Простые результаты запроса 'set rsdb = server.createObject (adodb.recordset) 'rsdb.open strsql, conn, 1,3 Установить rsdb = conn.execute (strsql) База данных запросов ERRMSG Конечная функция 'Добавить, обновить, удалить записи базы данных публичная функция updb () при ошибке резюме следующим conn.execute (strsql) errmsg edit records базы данных конечная функция '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Функция набора записей, используемая для реализации пейджинг Public Function Pagers () при ошибке резюме следующим Dim Startrs startrs = (vcurrpg-1)*vpgsize '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- «Если вы используете этот оператор, вам необходимо изменить код в соответствии с параметрами. В частности, если вид является ASC, то <Изменить на>, и мин изменяется на макс. 'Если Startrs = 0, то 'strsql = select top & vpgsize & & vpgfields & out & vtbname & & vconditions & & vorderby ' еще 'strsql = select top & vpgsize & & vpgfields & out & vtbname & & vconditions & & vpkey & < 'strsql = strsql & (Select min (& vpkey &) из (выберите Top & Startrs & & vpkey & от 'strsql = strsql & vtbname & & vconditions & & vorderby &) как idtable) & vorderby 'end if '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Если Startrs = 0, тогда strsql = select top & vpgsize & & vpgfields & out & vtbname & & vconditions & & vorderby еще strsql = select top & vpgsize & & vpgfields & from & vtbname & & vconditions & & vpkey & not strsql = strsql & in (Select Top & Startrs & & Vpkey & From & vtbname & & vconditions & & vorderby strsql = strsql &) и vorderby конец, если '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SET PAGERS = server.createObject (adodb.recordset) Pagers.Open Strsql, Conn, 0,1 errmsg записывает страницу конечная функция '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- публичная функция sqlPage () при ошибке резюме следующим Установить sqlpage = server.createObject (adodb.recordset) Установить cm = server.createObject (adodb.command) Cm.commandtype = 4 Cm.ActiveConnection = conn Cm.commandtext = sp_util_page Cm.parameters (1) = Vpgfields Cm.parameters (2) = vtbname Cm.parameters (3) = Vconditions Cm.parameters (4) = Vorderby Cm.parameters (5) = Vpkey Cm.parameters (6) = Vcurrpg CM.Parameters (7) = VPGSIZE Cm.parameters (8) = vrscount () Cm.parameters (9) = sqlpage.cursorlocation = 3 sqlpage.locktype = 1 SQLPAGE.Open CM errmsg записывает страницу конечная функция '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Закрыть записи, установленные objrs '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Публичная функция CRS (Byval objrs) Objrs.close () Установить objrs = ничего Конечная функция '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- публичная функция pagenav () irscount = vrscount () 'Общее количество записей mypage = vcurrpg'currpg'currpg'current count Pgcount = vpgcount () 'Общее количество страниц Precage = myPage-1 Если препарат <1 тогда Precage = 1 конец, если NextPage = MyPage 1 Если NextPage> 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 = & precage &' class = 'aw'> предыдущая страница </a> if (mypage-1) mod 4 = 0 тогда FirstPage = myPage elseif int ((mypage-1)/4) = 0 тогда первая страница = 1 еще FirstPage = int ((MyPage-1)/4)*4 1 конец, если Конечная страница = первая страница 4 Astr = для i = первая страница в конечную страницу 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> </div> 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 & </tr> TD = NULL следующий Tbtil = null TBRS = NULL response.write (tbstr & tr1 & tr & <tr> <td colspan = '& itblcol 1 &'> & pagenav () & </td> </tr> </tbody> </table>) TBSTR = NULL TR1 = NULL tr = null Конечная функция 'Распечатайте оператор SQL, чтобы оператор проверил, есть ли ошибки Public sub prnsql () response.write (strsql) Конец суб '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Определенные функции '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Приватная функция errmsg (errmsg) Если err.number <> 0, тогда «Если есть проблема, вы можете использовать код здесь, чтобы распечатать информацию о описании для легкой отладки. Прокомментировать response.write (cstr (err.description) и <br>) Err.clear Response.write <font color = '#ff0000'> & errmsg & error </font> 'Комментарий Response.end () Конец, если Конечная функция '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Функция устойчивости к неисправности заканчивается '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Конечный класс %> |
Поделиться: пример кода с файловым системом В примере кода, описанного в этом разделе, представлены реальные примеры, чтобы проиллюстрировать многие функции, доступные в шаблоне объекта файловой системы. Этот код показывает все функции того, как использовать шаблоны объектов вместе, и как эффективно использовать их в своем собственном коде.