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