problemas sql

Luis
11 de Diciembre del 2001
Estoy realizando una aplicacion para consulta de notas via web. El problema es el siguiente:dentro de la base de datos tengo una tabla(asignatura)en la cual tengo el campo id_asignatura(autonumerico). Lo que quiero es que vaya recorriendo las distintas asignaturas, es decir, que coja la primera id_asignatura y vaya a su correspondiente tabla y haga la sentencia sql, y asi sucesivamente. Lo he conseguido cuando defino a id_asignatura como texto y yo coloco el numero, pero no me vale. Si hay un alma caritativa por ahi. Acontinuacion pongo el codigo:
<%


Dim oConn, rs, SQL, DNI, PASSWD, Ob_RS, ID_Asignatura
Response.buffer=true

DNI=Trim( Request.Form("DNI") )
PASSWD=Trim ( Request.Form("PASSWD") )

Session("UsuarioDNI")= DNI
Session("UsuarioPASSWD")= PASSWD


if DNI="" then
Session("aut")=false
Response.Redirect("/euiti0/html/paginaerror2.html")

else


set oConn=Server.CreateObject("ADODB.Connection")
SET Ob_RS = Server.CreateObject ("ADODB.RecordSet")
oConn.Open "ASIGNATURAS"
Ob_RS.Open "Asignaturas", OConn, adOpenStatic, adLockOptimistic, adCmdTable

DO WHILE NOT Ob_RS.Eof
ID_ASIGNATURA = Ob_RS ("ID_ASIGNATURA")

SQL="SELECT * FROM " & _
"[" & ID_Asignatura & "] WHERE (DNI="&DNI&" AND PASSWORD="&PASSWD&");"


set rs=oConn.Execute(SQL)
Ob_RS.MoveNext
LOOP
if rs.EOF then
Session("aut")=false
Response.Write("Lo siento, no existe ese usuario/contrasea.")

else

Session("aut")=true
Response.Redirect("INICIO.asp")
end if

end if

RS.close
Ob_RS.Close
OConn.Close
set rs=nothing
set Ob_rs=nothing
set oConn=nothing




%>


Luis
11 de Diciembre del 2001
No lo he entendido muy bien, pero es posible que sea por el tema de los tipos:
Deberas hacer una conversin de tipos, es decir, si tu lees de la BD el campo Id_Asignatura, luego lo fuerzas a entero cuando hagas la bsqueda:

id = rs("ID_Asignatura")

"SELECT * FROM ASIGNATURAS WHERE Id_Asignatura=" & CInt(id)

Con CInt fuerzas la conversin a tipo entero