FAQ ASP

  1. La lectura de un campo de base de datos compuesto por diversas líneas se representa como única línea sin <BR> ¿Cuál es la razón? [respuesta]
  2. Durante la gestión de enlaces he notado que es imposible gestionar los espacios. ¿Por qué? [respuesta]
  3. ¿Cómo puedo forzar la conexión a una nueva página que sustituya la actual portada de mi sitio? [respuesta]
  4. Necesito ver en páginas ASP los códigos HTML que contiene una base de datos. Por desgracia, no consigo ver correctamente el código, ya que se ha convertido en caracteres no utilizables. ¿Por qué? [respuesta]
  5. Necesito señalar un directorio específico en el servidor, pero no conozco ni el path ni el nombre del disco. ¿Qué puedo hacer? [respuesta]
  6. ¿Cómo puedo usar los archivos Include convocándolos como dependientes de variables. [respuesta]
  7. He oído hablar de la propiedad PICS. Quisiera saber algo más. [respuesta]
  8. ¿Cómo puedo activar la función response.end? [respuesta]
  9. ¿Se pueden ver las características de los certificados SSL que poseen los clientes? [respuesta]
  10. ¿Se pueden contar los bytes transmitidos por cada página a los clientes? [respuesta]
  11. ¿Cuál es el uso correcto de QueryString? [respuesta]
  12. Quisiera usar la función Response.Flush, pero no obtengo resultado. ¿Por qué? [respuesta]
  13. ¿Cómo puedo incluir informaciones específicas en los archivos de LOG en IIS4? [respuesta]
  14. Necesito eliminar, usando ASP, un folder específico creado por una aplicación… [respuesta]
  15. ¿Se puede ver la fecha de creación de un archivo? [respuesta]
  16. Quisiera ver la hora en el formato 24 horas, ¿es posible? [respuesta]
  17. ¿Se puede calcular automáticamente la diferencia en días entre fechas? [respuesta]
  18. He notado que muchos proveedores permiten la creación de carpetas directamente por el usuario, de modo que puedan hospedar las páginas. ¿Cómo podría hacer yo lo mismo? [respuesta]
  19. ¿Cuál es la función del diccionario? [respuesta]
  20. ¿Cómo se puede crear un encabezamiento de página? [respuesta]
  21. ¿Cómo puedo conectarme a una base de datos si no tengo los derechos administrativos? [respuesta]
  22. ¿Cómo puedo ordenar los campos visualizados por una query genérica en una base de datos muy poblada? [respuesta]
  23. ¿Cómo puedo volver a cargar la página cada vez que se accede? [respuesta]
  24. ¿Cómo puedo incluir archivos externos en un procedimiento ASP? [respuesta]
  25. ¿Se pueden contar los bytes transmitidos por cada páginas a los clientes? [respuesta]
  26. ¿Cómo puedo interrumpir la counicación con un usuario que se ha desconectado, evitando inútiles envíos de datos? [respuesta]

1) La razón hay que buscarla en el hecho de que no se reconozcan los caracteres ASCII que indican la interrupción de la línea. Usar el método:

response.write(Replace(campo_database, vbCrLf,”<br>”))

2) La solución está en el uso que asegura la exacta correspondencia de los URL:

<% Response.Write Server.URLEncode(“http://www.htmlpoint.com”) %>

3) Se tiene que utilizar el método REDIRECT, que seguramente ayuda. Ejemplo:

OLD.asp

<%
Response.Write “Ahora te mando a la nueva página”
Response.Redirect “NEW.asp”
%>

NEW.asp

<%
Response.Write “Bienvenido”
%>

4) Probablemente no se ha usado el método SERVER.HTMLENCODE, que codifica la cadena ASCII en un formato representable en el Navegador. Ejemplo:

<% Response.Write Server.HTMLEncode(“Éste es el TAG: <Table>”) %>

Sin método.
Éste es el TAG: & l t ; Table & g t ;

Con método
Éste es el TAG: <Table>

5) Puedes utilizar la función MapPath.

6) Include no permite el uso de variables para convocar archivos.

7) La propiedad PICS se usa para generar el header en los contenidos de la página o del sitio relativo. Hay que incluirla antes del tag <HTML>.
En el ejemplo quiero representar los siguientes valores:

violence = 0
sex = 0
language = 1
nudity = 0

Código
<% Response.Pics(“(PICS-1.1 <http://www.htmlpoint.com/index.html>
labels on ” & chr(34) & “1999.12.10R02:20-0700″ & chr(34) & ” until ” & chr(34)
& “2000.12.31T23:59-0000″ & chr(34) & ” ratings(v 0 s 0 l 1 n 0))”)%>

8) El método Response.End permite detener el proceso Response. ASP 2.0 tiene el método desactivado por defecto.
Código de ejemplo:

<%
Response.Write “Escribo texto”
Response.End
Response.Write “He cerrado el texto”
%>

La frase “He cerrado el texto” no se verá.

9) Se pueden ver algunos parámetros del certificado, como:

Certificate: contiene toda la cadena del significado
Flags indica si el huésped es conocido
SerialNumber contiene el número de serie del certificado
Subject contiene informaciones sobre el sujeto certificado
ValidFrom fecha de activación del certificado
ValidUntil fecha de caducidad

Ejemplo:
Válido del <%= Request.ClientCertificate(“ValidFrom”) %>
hasta el <%= Request.ClientCertificate(“ValidUntil”) %>

Resultado
Válido del 12/06/98 12:00:00 PM hasta el 31/12/00 11:59:59 PM.

10) La propiedad Request.TotalBytes permite contar la cantidad de bytes transmitidos.
Ejemplo:

<%
Dim cuenta
cuenta = Request.TotalBytes
Response.Write(“Bytes totales = ” & Cuenta & ” bytes”)
%>

Resultado
Bytes totales = 34 bytes

11) La propiedad Request.QueryString permite transmitir los valores que contiene una variable.
La sintaxis correcta es: Request.QueryString (Variable)[(Index)|.Count] Ejemplo:

<A HREF=”test.asp?Sitio=HTMLpoint&tipo=web”>Envía datos</A>

test.asp

<%
For Each item In Request.QueryString
Response.Write item & ” = ” & Request.QueryString(item) & “&BR>”
Next
%>

Resultado:
Sitio=HTMLpoint
Tipo=web

12) El uso de Response.Flush está estrechamente ligado a la presencia del buffer. En ASP 2,0 Response.buffer por defecto no está activado, se tiene que activar con: Response.Buffer = TRUE

13) Hay que usar el método Response.AppendToLog, que permite incluir texto específico en el LOG.
Ejemplo

<%
Response.AppendToLog(“Test”)
%>

Resultado
102.23.100.21, – , 02/12/00, 12:33:21, W3SVC, User1, 102.23.100.21, Test
No usar las comas en el texto.

14) El método FileSystemObject.DeleteFolder permite efectuar la operación.
Ejemplo

<%
dim folder
Set test= CreateObject(“Scripting.FileSystemObject”)
If testFolderExists(“d:htmlroot”) Then
testDeleteFolder “d:htmlroot”
Response.Write(“Folder cancellato”)
End If
%>

15) El método FileSystemObject.GetFile permite ver la fecha de creación.

Ejemplo

<%
dim filetest, texto , x
Set filetest= CreateObject(“Scripting.FileSystemObject”)
Set texto = filetext, .CreateTextFile(“c:prueba.txt”, true)
Set x = filetext, .GetFile(“C:prueba.txt”)
Response.Write (“Fecha de creación” & x.DateCreated)
%>

16) La función Hour() permite gestionar el horario.

<%hour(time)%>

17) <%=DateDiff(“d”, Date, “fecha de referencia”) %>

18) Un método que permite esto es FileSystemObject.BuildPath .
Se pueden añadir, efectivamente, nuevos path a carpetas específicas

Ejemplo

<%
dim filetest, nuovadir
set filetest =CreateObject(“Scripting.FileSystemObject”)
nuovadir = filetest.BuildPath(c:inetpubwwwroot, “nombre_directorio”)
%>

19) El objeto Dictionary permite conectar las palabras clave a un resultado

Ejemplo

<%
Dim sitios
Set sitios= CreateObject(“Scripting.Dictionary”)
sitios.Add “f”, “Font.it”
sitios.Add “h”, “HTMLpoint”
sitios.Add “e”, “emerchant.it”
sitios.Add “w”, “wapitalia.it”
Response.Write ” ‘h’ = ” sitios.Item(“h”)
%>
Resultado
h=HTMLpoint

20) Usando un simple script en ASP, se puede crear un encabezamiento de página incluyendo parámetros como: fecha, hora, variables en general.
Ejemplo de script:

<html>
<head>
<title>www.htmlpoint.com asp</title>
</head>
<body bgcolor=”#1FFFFF”>
<table width=”100%” border=”0″>
<tr>
<td align=”LEFT”><%= time %></td>
<td align=”CENTER”>HTMLpoint</td>
<td align=”RIGHT”><%= date %></td>
</tr>
</table>
<hr>
</body>
</html>

21) Conectarse con una base de datos cuando no se tienen los derechos administrarivos para operar en ODBC es más fácil de lo que parece.
Utilizando el procedimiento DSN-less, es posible conectarse a bases de datos residentes en nuestra root virtual.

objConn.ConnectionString =
“DBQ=C:WebcompartidaNombredatabase.mdb;DRIVER={MS Access (*.mdb)}”

22) SELECT *FROM TABLA (query genérica)
SELECT * FROM TABLA ORDER BY nombre DESC (Ordenará de manera descendente refiriéndose al campo nombre)

23) <% Response.Expires = 0 %> – Permite forzar un “expires” a tiempo cero.
Hay que incluirlo al principio de la página.
%= al número de minutos deseados

24) La función include permite incluir archivos externos en un procedimiento ASP.
Se pueden incluir archivos de texto, scripts, etc. Un ejemplo consiste en añadir a un peso neto el peso de la confección.

<%
‘el peso es Kg.10
Dim fpeso
fpeso = 10

Ahora muestro el peso neto más la confección
Response.Write “Peso total: ” & Adjustedpeso(fpeso)
%>

Para añadir el peso de la confección, creo un archivo de inclusión al que llamo peso.txt, de modo que programo:

<%
function Adjustedpeso(totalpeso)
Adjustedpeso = totalpeso + 0.5
end function
%>

De este modo, el archivo .asp se convierte en:

<!–#include file=”peso.txt”–>
<%
‘el peso es’ Kg.10
Dim fpeso
fpeso = 10

Ahora muestro el peso neto más la confección Response.Write “Peso total: ” & Adjustedpeso(fpeso) %>

25) Sí.
La propiedad Request.TotalBytes permite contar la cantidad de bytes transmitidos.
Ejemplo:

<%
Dim cuenta
cuenta = Request.TotalBytes
Response.Write(“Bytes totales = ” & Cuenta & ” bytes”)
%>

Resultado Bytes totales = 34 bytes

26) La propiedad Response.IsClientConnected permite interrumpir las comunicaciones con un usuario que se ha desconectado, evitando inútiles envíos de datos.
Ejemplo:

<%
set connDB=server.createobject(“adodb.connection”)
conn.Open “database_ejemplo”, “”, “”
mySQL=”select * from database_ejemplo”
Set rsbusca = Server.CreateObject(“ADODB.Recordset”)
rsbusca.Open mySQL, conn, adOpenStatic, adLockPessimistic
%>
<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Do until (rscerca.eof or Response.IsClientConnected=false)
Response.Write rsbusca.Fields(“campo_database”) %>
<% rsbusca.MoveNext
Loop
rsbusca.Close
conn.Close
%>
</BODY>
</HTML>

One Comment

Leave A Comment?