Recomendado: Hable sobre el código de escritura similar a las funciones del motor de búsqueda utilizando ASP Primero, cree una base de datos de acceso. Hay una tabla de URLINDEX en la biblioteca, donde los campos de las Palabras de URL y Key se indexan respectivamente, de la siguiente manera: el siguiente es el contenido referenciado: Texto de URL (índice
Hay muchas categorías de operación de bases de datos que buscan en línea. No soy mejor que esos, pero los escribí yo mismo y los usé más. Así que no hay nada especial en mí, solo uso mis hábitos. En cuanto a la eficiencia y otros aspectos, ¡dame consejos! !
Código de programa:
| El siguiente es el contenido citado: <% Clase DBClass '----------------------------------------------------------------------------------------------- 'Descripción variable 'Conn --------------------------------------------------------------------------------------------------------------------------- 'STRSQL --------------------------------------------------------------------------------------------------------------------- 'Vtbname -------------------------------------------------------------------------------------------------------------------- 'VPKey --------------------------------------------------------------------------------------------------------------------- 'VPGFIELDS --------- Consulta los campos que se mostrarán en la página 'VPGSIZE ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'VCurrpg ------------------------------------------------------------------------------------------------------------------- 'VCONDITIONS ---- Condiciones de paginación de consultas 'Vorderby ------------- Clasificación de páginas de consulta '----------------------------------------------------------------------------------------------- Conn privado, strsql, vtbname, vpkey, vpgfields, vpgSize, vcurrpg, vconditions, vorderby 'Inicialización de la clase Sub class_initialize () privado () 'Cuando sea una base de datos MS SQL, establezca las dos variables siguientes El nombre o la dirección IP de 'Dim dbserver' del servidor de la base de datos Nombre de la base de datos 'dim dbname' dim dbpath 'Si es una base de datos de acceso, configure su ruta aquí Dim dBuser 'El nombre de usuario de inicio de sesión de la base de datos Dim dbpass 'la contraseña de inicio de sesión del dominio Dim CONNSTR dbpath = /testasp/data/data.mdb 'Establezca la ruta de la base de datos dBuser = admin dbpass = 123456 'Si es acceso y tiene una contraseña Connstr = Provider = Microsoft.Jet.OLEDB.4.0; Data Source = & Server.Mappath (DBPath) y _ ; ID de usuario = & dbuser &; contraseña =; jet OLEDB: base de datos contraseña = & dbpass 'Si es acceso y no hay contraseña 'Connstr = Provider = Microsoft.Jet.OLEDB.4.0; Data Source = & Server.Mappath (DBPath) 'Si se trata de una base de datos MS-SQL 'Connstr = Provider = Sqloledb; ID de usuario = & dbuser &; Contraseña = & dbpass & _ '; Catálogo inicial = & dbname &; Fuente de datos = & dbserver En el currículum de error siguiente Establecer conn = server.createObject (ADODB.Connection) Conn.open Connstr ERRMSG CONECTAR A LA BASE DE DATOS Final 'Final de clase Sub class_terminate () privado () Conn.clar establecer conn = nada Final '----------------------------------------------------------------------------------------------- 'Establecer valores para variables de la clase '----------------------------------------------------------------------------------------------- 'Establecer declaraciones SQL Propiedad pública Deja que SQLSTR (valores BYVAL) strsql = valores Propiedad final 'Establezca el nombre de la tabla de la página de consulta Propiedad pública Deje tbname (valores BYVAL) vtbname = valores propiedad final '----------------------------------------------------------------------------------------------- 'Establezca la clave principal de la tabla pagada de consulta Propiedad pública Deja que Pkey (valores de Byval) VPKey = valores propiedad final '----------------------------------------------------------------------------------------------- 'Establezca los campos mostrados Propiedad pública Deje PGFIELDS (valores de BYVAL) vpgfields = valores propiedad final '----------------------------------------------------------------------------------------------- 'Establezca el número de registros que se muestran por página Propiedad pública Deja que PGSize (valores de BYVAL) vpgSize = valores propiedad final '----------------------------------------------------------------------------------------------- 'Establezca el número de páginas que se muestran actualmente Propiedad pública Deja que Currpg (valores de BYVAL) VCurrPG = valores propiedad final '----------------------------------------------------------------------------------------------- 'Establezca las condiciones de consulta Propiedad pública deja condiciones (valores BYVAL) Si len (valores)> 0 entonces vconditions = dónde y valores demás vconditions = donde 1 = 1 final si propiedad final '----------------------------------------------------------------------------------------------- 'Establezca el tipo de consultas Propiedad pública Deja Orderby (valores de Byval) Si len (valores)> 0 entonces vorderby = orden por y valores demás vorderby = valores final si propiedad final '----------------------------------------------------------------------------------------------- 'Obtenga el número total de registros Propiedad pública Obtener vrScount () Si vcurrpg = 1 entonces sqlc = select Count (& vpkey &) como idcount de & vtbname & & vconditions establecer rsc = server.createObject (ADODB.RecordSet) rsc.open SQLC, Conn, 0,1 Rsnum = rsc (idcount) rsc.close establecer rsc = nada Si rsnum> 0 entonces Response.cookies (irecord) = rsnum vrscount = rsnum demás vrscount = 0 final si demás vrScount = request.cookies (irecord) final si propiedad final 'Obtenga el número total de páginas Propiedad pública Obtener vpgCount () irScount2 = vrScount () Si IRSCount2 mod vpgSize = 0 entonces vpgCount = int (irScount2/vpgSize) demás vpgCount = int (irScount2/vpgSize) 1 final si propiedad final 'Consulta la base de datos Función pública rsdb () En el currículum de error siguiente 'Resultados simples de consultas 'Establecer rsdb = server.createObject (ADODB.RecordSet) 'rsdb.open strsql, Conn, 1,3 Establecer rsdb = conn.execute (strsql) Base de datos de consultas errmsg Función final 'Agregar, actualizar, eliminar los registros de la base de datos función pública updb () En el currículum de error siguiente Conn.execute (STRSQL) Errmsg Editar registros de base de datos función final '----------------------------------------------------------------------------------------------- 'La función de conjunto de registros utilizada para implementar la paginación Pagers de función pública () En el currículum de error siguiente Dim Startrs StarTrs = (VCurrPG-1)*VPGSIZE '----------------------------------------------------------------------------------------------- 'Si usa esta declaración, debe modificar el código de acuerdo con los parámetros. Específicamente, si el tipo es ASC, entonces <cambio a>, y min se cambia a Max 'Si Startrs = 0 entonces 'strsql = Seleccione Top & VPGSize & & Vpgfields & From & Vtbname & Vconditions & & Vorderby ' demás 'strsql = seleccione Top & VPGSize & & Vpgfields & From & vtbname & vconditions & & vpkey & << 'strsql = strsql & (seleccione min (& vpkey &) de (seleccione Top & Startrs & & VPKey & desde 'strsql = strsql & vtbname & vconditions & & vorderby &) como idtable) & vorderby 'Finalizar si '----------------------------------------------------------------------------------------------- Si Startrs = 0 entonces strsql = Seleccione Top & VPGSize & & VPGFIELDS & FROM & VTBNAME & VCONDITIONS & & VORDERBY demás strsql = Seleccione Top & VPGSize & & VPGFIELDS & FROM & VTBNAME & VCONDITIONS & & VPKEY & NO strsql = strsql & in (seleccione top & startrs & & vpkey & from & vtbname & vconditions & & vorderby strsql = strsql &) y vorderby final si '----------------------------------------------------------------------------------------------- Establecer pagers = server.createObject (ADODB.RecordSet) Pagers.open Strsql, Conn, 0,1 Paginación de registro de ERRMSG función final '----------------------------------------------------------------------------------------------- función pública sqlpage () En el currículum de error siguiente Establecer sqlpage = server.createObject (ADODB.RecordSet) Establecer 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 Paginación de registro de ERRMSG función final '----------------------------------------------------------------------------------------------- 'Cerrar el conjunto de registros Objrs '----------------------------------------------------------------------------------------------- Función pública CRS (OBJRS BYVAL) Objrs.close () Establecer objrs = nada Función final '----------------------------------------------------------------------------------------------- función pública pagenav () irscount = vrScount () 'Número total de registros mypage = vcurrpg'currpg'currpg'current de la página PGCount = VPGCount () 'Número total de páginas Prepage = myPage-1 si el prepagado <1 entonces Preparación = 1 final si nextPage = myPage 1 Si NextPage> PGCount entonces nextPage = PGCount final si Pagestr = <div id = fy> <span id = rpc> Hay un total de & irscount & Records & mypage &/& pgcount & </span> Pagestr = Pagestr & <a href = '? CurrPage = 1' class = 'aw'> home </a> <a href = '? CurrPage = & Prepage &' class = 'aw'> Página anterior </a> if (mypage-1) mod 4 = 0 entonces FirstPage = myPage elseif int ((mypage-1)/4) = 0 entonces FirstPage = 1 demás FirstPage = int ((myPage-1)/4)*4 1 final si EndPage = FirstPage 4 Astr = para i = FirstPage a la página final Astr = astr & <a href = '? CurrPage = & i &' Si cstr (myPage) = cstr (i) entonces Astr = Astr & id = 'Currp' final si Astr = Astr &> & i & </a> Si i> pgcount-1, salga por próximo Astr = astr & <a href = '? CurrPage = & NextPage &' class = 'aw'> Última página </a> <a href = '? CurrPage = & pgcount &' class = 'aw'> Última página </a> </div> Pagestr = Pagestr & Astr Pagenav = PAGESTR función final 'Tabla de salida con función de paginación Función showtb (byval tbtil) Establecer rstb = pagers () 'Si es un procedimiento almacenado, llame a SQLPage () TBRS = RSTB.GETROWS () CRS (RSTB) itblrow = Ubound (TBRS, 2) itblcol = Ubound (tbtil) tbStr = <table border = '0' cellPacing = '0' cellPadding = '0' CellPadding = '0'> <tbody> para r1 = 0 a itblcol tr1 = tr1 & <td width = '& split (tbtil (r1), |) (1) &'> & split (tbtil (r1), |) (0) & </td> próximo tr1 = <tr> y tr1 & </tr> para ri = 0 a itblrow para ci = 0 a itblcol td = td & <td width = '& split (tbtil (ci), |) (1) &'> & tbrs (ci, ri) & </td> próximo tr = tr & <tr> & td & </tr> TD = NULL próximo Tbtil = nulo TBRS = NULL Response.Write (TBStr & TR1 & TR & <tr> <td colspan = '& itblcol 1 &'> & pagenav () & </td> </tr> </tbody> </table>) tbStr = nulo TR1 = NULL tr = nulo Función final 'Imprima la instrucción SQL para que la declaración verifique si hay algún error Public Sub Prnsql () Response.Write (STRSQL) Final '----------------------------------------------------------------------------------------------- 'Funciones tolerantes a fallas '----------------------------------------------------------------------------------------------- Función privada Errmsg (ERRMSG) Si err.number <> 0 entonces 'Si hay un problema, puede usar el código aquí para imprimir la información de descripción para una fácil depuración. Hacer comentarios Response.Write (CSTR (ERR.Description) y <br>) Err.Clear Response.write <font color = '#ff0000'> & errmsg & error </font> 'comentario Respuesta.end () Final si Función final '----------------------------------------------------------------------------------------------- 'La función de tolerancia a fallas termina '----------------------------------------------------------------------------------------------- Clase final %> |
Compartir: Código de muestra de FilesystemObject En el código de muestra descrito en esta sección, se proporcionan ejemplos de la vida real para ilustrar muchas de las características disponibles en el patrón de objetos del sistema de archivos. Este código muestra todas las características de cómo usar patrones de objetos juntos y cómo usarlos de manera efectiva en su propio código