Foros del Web » Programando para Internet » ASP Clásico »

string de consulta

Estas en el tema de string de consulta en el foro de ASP Clásico en Foros del Web. Tengo un pequeño problemilla con mi string de consulta Me explico: por medio de request.form recibo el vlor de una variable que es el nombre ...
  #1 (permalink)  
Antiguo 12/05/2003, 07:45
Avatar de Subotai  
Fecha de Ingreso: mayo-2003
Ubicación: Irúnforge
Mensajes: 198
Antigüedad: 21 años
Puntos: 1
Pregunta string de consulta

Tengo un pequeño problemilla con mi string de consulta
Me explico:
por medio de request.form recibo el vlor de una variable que es el nombre de la tabla a la que quiero acceder,el usuario puede elegir entre una lista de tablas disponibles, luego formo el string para la consulta sql y ahi falla de una forma muy curiosa:
le pongo el codigo:


--------------------------------------------------------------------------
tabla = Request.Form("nombre_tabla")
Consulta = "Select * From '"&tabla&"'"
RS.Open Consulta, str_con, 3,3
---------------------------------------------------------------------------

De esta manera aparece el siguiente error al cargar la pagina

------------------------------------------------------------------------------------
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Línea 1: sintaxis incorrecta cerca de 'Orders'.
/ejSQL/paginar_prueba2.asp, line 29
------------------------------------------------------------------------------------

la linea 29 se corresponde con :
RS.Open Consulta, str_con, 3,3


me fije que pone Orders (estoy haciendo la prueba con northwind) entre comillas simples, entonces elimine las comillas simples del string y...

codigo:

------------------------------------------------------------------------------------
tabla = Request.Form("nombre_tabla")
Consulta = "Select * From "&tabla&""
RS.Open Consulta, str_con, 3,3
------------------------------------------------------------------------------------

Tachán sale la primera pagina de la consulta pero al pasar a las 5 siguientes filas...HORROR!!
(tener en cuenta que poniendo el nombre de la tabla directamente sin enviarlo funciona a la perfección)

este es el error

------------------------------------------------------------------------------------
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Línea 1: sintaxis incorrecta cerca de 'From'.
/ejSQL/paginar_prueba2.asp, line 29
------------------------------------------------------------------------------------
la linea 29 se corresponde con :
RS.Open Consulta, str_con, 3,3

sintaxis incorrecta cerca de 'From'??????!!!
no lo entiendo alguien me lo puede explicar?

Última edición por Subotai; 12/05/2003 a las 07:50
  #2 (permalink)  
Antiguo 12/05/2003, 07:55
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 3 meses
Puntos: 1
La instruccion esta bien montada.
¿No estara tomando un valor NULL desde el formulario, has comprobado que recibes el valor de la tabla.?

<%
tabla = Request.Form("nombre_tabla")
response.write(tabla)
%>
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #3 (permalink)  
Antiguo 12/05/2003, 07:57
Avatar de Subotai  
Fecha de Ingreso: mayo-2003
Ubicación: Irúnforge
Mensajes: 198
Antigüedad: 21 años
Puntos: 1
si lo recibo y lo puedo visualizar sin problemas

no tiene sentido!!!
  #4 (permalink)  
Antiguo 12/05/2003, 08:02
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 3 meses
Puntos: 1
Pues el error solo puede estar en el string de conexion str_con , ponlo aqui:
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #5 (permalink)  
Antiguo 12/05/2003, 08:08
Avatar de Subotai  
Fecha de Ingreso: mayo-2003
Ubicación: Irúnforge
Mensajes: 198
Antigüedad: 21 años
Puntos: 1
Ahi te va:
-----------------------------------------------------------------------------------
Set str_con = Server.CreateObject ("ADODB.Connection")
str_con.Open "DSN_SQLNorthwind","oscar","oscar"
-----------------------------------------------------------------------------------

donde oscar es el nombre de usuario y el password
(a que no adivinas como me llamo...jjejejjeje )
no creo que sea el objeto connection he hecho un monton de pruebas con el mismo dsn y el mismo usuario con todas las tablas de northwind y ha funcionado perfectamente...

gracias por ayudar siempre maestro
  #6 (permalink)  
Antiguo 12/05/2003, 08:28
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

¿Me equivoco o estas haciendo una paginacion? Si es asi, cuando dices que pasas a los 5 siguientes estas pasando el nombre de la tabla por URL o por formulario? Si lo haces por URL debes leerlo del querystring, no del form.

Saludos.

PD: Realmente he programado poco en ASP, pero este es un problema comun en las paginaciones.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 12/05/2003, 08:35
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 3 meses
Puntos: 1
Primero debes descartar que la base de datos este mal o la DSN mal especificada.
Usa OLEDB para hacer una consulta, asi obviamos ya cosas.

<%
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("tubase.mdb")&";"
%>

El resto del codigo te vale.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:41.