Rellenar Combobox con datos de una base de datos
Hola, necesito saber cómo rellenar un combobox con datos de una tabla de una base de datos, tengo hecho lo siguiente, pero me muestra el combobox vacío ¿dónde está el error?
Muchas gracias.
<%
var SQL = ""
miconexion = new ActiveXObject("ADODB.Connection")
miconexion.Open ("XXXXX")
SQL = "SELECT * FROM MATERIAS"
ResultSet rs = miconexion.execute(SQL)
%>
<form name = "formulario2">
<center> <b> Materia: </b> <select name = "materia">
<option value = " "> </option>
<%while (!rs.Eof)
{
%>
<option value="<% = rs('NOMBRE_MATERIA') %>"> <% = rs('NOMBRE_MATERIA') %> </option>
<%
rs.MoveNext()
} %>
</select>
</center>
Muchas gracias.
Muchas gracias.
<%
var SQL = ""
miconexion = new ActiveXObject("ADODB.Connection")
miconexion.Open ("XXXXX")
SQL = "SELECT * FROM MATERIAS"
ResultSet rs = miconexion.execute(SQL)
%>
<form name = "formulario2">
<center> <b> Materia: </b> <select name = "materia">
<option value = " "> </option>
<%while (!rs.Eof)
{
%>
<option value="<% = rs('NOMBRE_MATERIA') %>"> <% = rs('NOMBRE_MATERIA') %> </option>
<%
rs.MoveNext()
} %>
</select>
</center>
Muchas gracias.
hola ross_av para serte sincera no entendi mucho tu codigo, pero te voy a pasar el que yo ocupo siempre
1.primero tu conecciona la base de datos.(como tu te quieras conectar)
2. preparas tu select y lo abres
(eje).
<%
sqlejemplo= "select * from dbo.CatalogoMaterias"
Ob_Rs.open sqlEjemplo
%>
3.aplico el siguiente codigo donde genero el objeto en una tabla y le inserto los datos: (eje.)
<table width="804" border="1" align="center" bordercolor="#888888">
<tr bordercolor="#CCCCCC">
<td bgcolor="#CCCCCC" colspan="2"> <center>Materia</center></td>
</tr>
<tr bordercolor="#CCCCCC">
<td height="28"> <center><select size="1" name="cbxEst">
<option>Ninguno</option>
<%
do until ob_Rs.EoF
%>
<option value="<%=Ob_Rs("Id_CAPcEstados")%>" ><%=Ob_Rs("CAPcEstados")%></option>
<%Ob_RS.Movenext
LOOP%>
</select></center>
<% Ob_Rs.Close %>
4. copia el pinto 2 y 3 , prueba como funciona y avisame, si tienes dudas , ¡¡¡¡ SUERTE!!!!
1.primero tu conecciona la base de datos.(como tu te quieras conectar)
2. preparas tu select y lo abres
(eje).
<%
sqlejemplo= "select * from dbo.CatalogoMaterias"
Ob_Rs.open sqlEjemplo
%>
3.aplico el siguiente codigo donde genero el objeto en una tabla y le inserto los datos: (eje.)
<table width="804" border="1" align="center" bordercolor="#888888">
<tr bordercolor="#CCCCCC">
<td bgcolor="#CCCCCC" colspan="2"> <center>Materia</center></td>
</tr>
<tr bordercolor="#CCCCCC">
<td height="28"> <center><select size="1" name="cbxEst">
<option>Ninguno</option>
<%
do until ob_Rs.EoF
%>
<option value="<%=Ob_Rs("Id_CAPcEstados")%>" ><%=Ob_Rs("CAPcEstados")%></option>
<%Ob_RS.Movenext
LOOP%>
</select></center>
<% Ob_Rs.Close %>
4. copia el pinto 2 y 3 , prueba como funciona y avisame, si tienes dudas , ¡¡¡¡ SUERTE!!!!
NOTA!!!!!!!!!!!
1.- Ob_Rs es como yo acustumbro nombrar a mi objeto recordser
Ob_Conn es como llama a mi objeto coneccion
2.- al final del codigo tambien cierra tu coneccion
<%Ob_Conn.open%> si es que no hay mas combos adelante de lo contrario cierra la coneccion (Ob_Conn)hasta el final..
1.- Ob_Rs es como yo acustumbro nombrar a mi objeto recordser
Ob_Conn es como llama a mi objeto coneccion
2.- al final del codigo tambien cierra tu coneccion
<%Ob_Conn.open%> si es que no hay mas combos adelante de lo contrario cierra la coneccion (Ob_Conn)hasta el final..
Lo he probado pero me sale el recordset vacío así que miraré por si es la conexión lo que va mal.
Muchas gracias.
Muchas gracias.
Te debe estar dando un error porque no estas cerrando el While con Loop, despues del MoveNext
Saludos
Alberto
Saludos
Alberto
He cambiado todo lo que me habeis dicho y sigue sin funcionar. Ya no sé ni qué probar.
Gracias.
Gracias.
Controla el posible error que se produce al abrir la BD o la tabla y el número de registros que tiene.
on error resume next
Set BD = Server.CreateObject("ADODB.Connection")
BD.Open .......
e=err.number
response.write(err(e).description)
Set r = Server.CreateObject("ADODB.Recordset")
r.cursortype=3
Set r = BD.Execute(sql)
e=err.number
response.write(err(e).description)
on error resume next
response.write("Nreg=" & r.recordcount)
on error resume next
Set BD = Server.CreateObject("ADODB.Connection")
BD.Open .......
e=err.number
response.write(err(e).description)
Set r = Server.CreateObject("ADODB.Recordset")
r.cursortype=3
Set r = BD.Execute(sql)
e=err.number
response.write(err(e).description)
on error resume next
response.write("Nreg=" & r.recordcount)
