Artículos
ASP

Cargar combos desde una Base de Datos con ADO

23/Feb/2009

Si los valores de un combo van a ser variables es recomendable extraer esta información de una base de datos, en vez de tenerlo codificados directamente en nuestro HTML. En este ejemplo vamos a ver como cargar combos desde una Base de Datos con ADO.

La idea es tener almacenada la lista de valores (diferentes opciones) en una tabla de tal manera que a la hora de crear un formulario generaremos dinamicamente la lista de opciones.

La tabla podrá tener la siguiente forma:

DEPORTE
Fútbol
Baloncesto
Atletismo
Voleibol
Gimnasia

Los pasos a seguir para volvar el contenido de esta tabla sobre los combos son los siguientes:

En primer lugar conectarnos a la base de datos que tenga la tabla. Esto lo podemos hacer mediante DSN y sin DSN. Nosotros lo vamos a hacer mediante DSN

Set db = Server.CreateObject("ADODB.Connection")
Dim DB_CONNECTIONSTRING
DB_CONNECTIONSTRING = "DSN=BaseDatosDeportes;"
db.open DB_CONNECTIONSTRING

La conexión a la base de datos la realizamos mediante el objeto Connection.

En segundo lugar crearemos un RecordSet el cual almacenara los datos de la tabla deportes. A este RecordSet debemos de decirle que almacenará todas las filas de la tabla.

set deportes = Server.CreateObject ("ADOBD.RecordSet")
SQLStr = "SELECT * FROM deportes"
deportes.open SQLStr, DB_CONNECTIONSTRING, adOpenStatic, adLockReadOnly, adCmdText

Las constantes adOpenStatic, adLockReadOnly, adCmdText las encontraremos en el archivo adovbs.inc el cual deberemos de incluir en la página donde este el script.

Como tercer paso recorreremos el RecordSet mientras existan datos. Para ello utilizaremos alguna estructura repetitiva. A la hora de mostrar los datos no solamente escribiremos en pantalla el texto que haya en en RecordSet, sino que habrá que acompañarlo con el texto de creación del combo del formulario, mediante las etiquetas SELECT y OPTION.

 

Solo nos quedará anular los objetos y cerrar las conexiones:

deportes.close
set deportes = Nothing
db.close
Set db = Nothing
Suscribir
Notificar de
guest
1 Comentario
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios