ADO consultando una base de datos | TIEngranaje

¿Te interesa conocer cómo interactúa ADO con la base de datos en tus proyectos de desarrollo web? ¡Estás en el lugar correcto! En este artículo de TIEngranaje te explicamos todo lo que necesitas saber sobre ADO consultando una base de datos. Descubre cómo esta tecnología facilita la gestión de tus datos y optimiza el rendimiento de tus aplicaciones web. ¡Sigue leyendo!

En la mayoría de los casos, si está ejecutando una aplicación web que incluye secuencias de comandos del lado del servidor, como ASP, lo más probable es que esté proporcionando contenido dinámicont a sus visitantes al aceptar la entrada y mostrar los resultados de los datos almacenados en una base de datos como MySQL o MSSQL.

En este tutorial, cubriremos cómo crear algunas consultas SQL que puede usar para recuperar información de su base de datos.

En el siguiente ejemplosnos conectaremos a una base de datos MySQL y consultaremos los registros de una tabla llamada Employees. El primer paso es crear una página ASP e incluir algunos de los componentes típicos de HTML.

<!DOCTYPE html>
<html>
<head>
    <title>My Page</title>
</head>
<body>
    <-- Add in HTML and ASP Code -->
</body>
</html>

El siguiente paso es agregue nuestro código ASP entre el principio y el final <body> etiquetas Nuestro código ASP inicial simplemente incluirá la creación de nuestras variables y objetos. Observe dónde asignamos nuestra consulta SQL a la sql variable.

<% 
Dim oConn      'Connection Object
Dim oRS        'Recordset Object
Dim ds         'datasource
Dim qs         'query string
Dim sql        'sql statement

ds = "Driver={MySQL ODBC 3.51 Driver};SERVER=db-hostname;DATABASE=db-name;UID=userID;PWD=password"
qs = Request.Querystring("id")
sql = "SELECT * FROM employees"

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open ds

Set oCmd = Server.CreateObject("ADODB.Command") 
oCmd.ActiveConnection = oConn
oCmd.CommandText = sql
oCmd.CommandType = 1
oCmd.Prepared = True

Set oRS = Server.CreateObject("ADODB.Recordset")
oRS.Open oCmd

Bueno, regrese a la variable ‘sql’ en un momento porque veremos diferentes ejemplos al modificar esta declaración. El siguiente paso es mostrar los resultados. Usamos un bucle para recorrer los campos en el conjunto de registros. Por último, ordena.

do until oRS.EOF
  for each x in oRS.Fields
    Response.Write(x.name & "=" & x.value & "<br />")
  next
  Response.Write("<br />")
  oRS.MoveNext
loop

oRS.close
oConn.close
Set oRS=nothing
Set oConn=nothing
%>

Los resultados de la muestra son los siguientes:

empID=1
empName=John Smith
empTitle=Sales Associate 

empID=2 empName=Jane White empTitle=CEO

empID=3 empName=Jim Bore empTitle=Accountant

Consulta por un Registro Específico

Si estaba interesado en consultar solo un subconjunto de los datos, podemos modificar nuestra consulta SQL usando el WHERE cláusula. En el siguiente ejemplo, solo queremos consultar la base de datos de un empleado que tiene una ID de 2. Simplemente podemos modificar la variable sql como sigue.

sql = "SELECT * FROM employees WHERE empID = 2"

Sin embargo, para que el sitio web sea más dinámica, preferiríamos tener la información proporcionada por el usuario. En este caso, asumiremos el escenario en el que un usuario hizo clic en un enlace en otra página web de la aplicación y el enlace contenía la información en la cadena de consulta. Podemos modificar la sintaxis de la siguiente manera.

sql = "SELECT * FROM employees WHERE empID = " & qs

NOTA: El ejemplo anterior no debe implementarse. Si bien técnicamente funcionará, es vulnerable a la inyección SQL porque la cadena de consulta se puede modificar para incluir comandos SQL adicionales. El enfoque recomendado es utilizar parámetros. Aquí hay un ejemplo. Primero, cambie la consulta SQL para incluir un parámetro usando un ‘?’ y en segundo lugar agregue el parámetro al objeto Comando.

sql = "SELECT * FROM employees WHERE empID = ?" In the following section, add the parameter.. oCmd.ActiveConnection = oConn
oCmd.CommandText = sql
oCmd.CommandType = 1
oCmd.Parameters(0) = qs

Mediante el uso de parámetros, podemos enviar de forma segura a la base de datos el comando SQL, incluidos los datos de la cadena de consulta como un literal.

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Deja un comentario