Make your own free website on Tripod.com

 

<% ' Sustituye parámetros de formulario en la cadena de consulta fp_sQry = "select * from faq" fp_sDefault = "" fp_sNoRecords = "Ningún registro devuelto" fp_iMaxRecords = 0 fp_iTimeout = 0 fp_iCurrent = 1 fp_fError = False fp_bBlankField = False If fp_iTimeout <> 0 Then Server.ScriptTimeout = fp_iTimeout Do While (Not fp_fError) And (InStr(fp_iCurrent, fp_sQry, "%%") <> 0) ' encontró abrir comillas, busque las comillas de cierre fp_iStart = InStr(fp_iCurrent, fp_sQry, "%%") fp_iEnd = InStr(fp_iStart + 2, fp_sQry, "%%") If fp_iEnd = 0 Then fp_fError = True Response.Write "Error de Región de base de datos: delimitadores de parámetros incorrectos" Else fp_sField = Mid(fp_sQry, fp_iStart + 2, fp_iEnd - fp_iStart - 2) If Mid(fp_sField,1,1) = "%" Then fp_sWildcard = "%" fp_sField = Mid(fp_sField, 2) Else fp_sWildCard = "" End If fp_sValue = Request.Form(fp_sField) ' si el campo de formulario nombrado no existe, anótelo If (len(fp_sValue) = 0) Then fp_iCurrentField = 1 fp_bFoundField = False Do While (InStr(fp_iCurrentField, fp_sDefault, fp_sField) <> 0) _ And Not fp_bFoundField fp_iCurrentField = InStr(fp_iCurrentField, fp_sDefault, fp_sField) fp_iStartField = InStr(fp_iCurrentField, fp_sDefault, "=") If fp_iStartField = fp_iCurrentField + len(fp_sField) Then fp_iEndField = InStr(fp_iCurrentField, fp_sDefault, "&") If (fp_iEndField = 0) Then fp_iEndField = len(fp_sDefault) + 1 fp_sValue = Mid(fp_sDefault, fp_iStartField+1, fp_iEndField-1) fp_bFoundField = True Else fp_iCurrentField = fp_iCurrentField + len(fp_sField) - 1 End If Loop End If ' esto encuentra a continuación el valor de campo de formulario nombrado y lo sustituye ' comillas sencillas duplicadas para todas las comillas sencillas del valor literal ' de forma que SQL no se confunda al ver comillas sencillas desemparejadas If (Mid(fp_sQry, fp_iStart - 1, 1) = """") Then fp_sValue = Replace(fp_sValue, """", """""") ElseIf (Mid(fp_sQry, fp_iStart - 1, 1) = "'") Then fp_sValue = Replace(fp_sValue, "'", "''") ElseIf Not IsNumeric(fp_sValue) Then fp_sValue = "" End If If (len(fp_sValue) = 0) Then fp_bBlankField = True fp_sQry = Left(fp_sQry, fp_iStart - 1) + fp_sWildCard + fp_sValue + _ Right(fp_sQry, Len(fp_sQry) - fp_iEnd - 1) ' Corrige la nueva posición actual para que sea después del valor sustituido fp_iCurrent = fp_iStart + Len(fp_sValue) + Len(fp_sWildCard) End If Loop If Not fp_fError Then ' Utiliza directamente la cadena de conexión escrita en el Asistente On Error Resume Next set fp_rs = CreateObject("ADODB.Recordset") If fp_iMaxRecords <> 0 Then fp_rs.MaxRecords = fp_iMaxRecords fp_rs.Open fp_sQry, "DSN=/BD/faq.mdb" If Err.Description <> "" Then Response.Write "Error de base de datos: " + Err.Description + "" if fp_bBlankField Then Response.Write " Uno o más campos de formulario estaban vacíos." End If Else ' Comprueba el caso ningún registro If fp_rs.EOF And fp_rs.BOF Then Response.Write fp_sNoRecords Else ' Inicia un bucle While para buscar cada registro en el conjunto de resultados Do Until fp_rs.EOF %> <% ' Cierra el bucle que recorre registros fp_rs.MoveNext Loop End If fp_rs.Close ' Cierra la comprobación de condición If para un error de conexión End If ' Cierra la comprobación de condición If para un error de análisis cuando se reemplazan parámetros de campo de formulario End If set fp_rs = Nothing %>
asignatura
<% If Not IsEmpty(fp_rs) And Not (fp_rs Is Nothing) Then Response.Write CStr(fp_rs("asignatura")) %>

 

 

Asignatura: