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

Ayuda urgente con variables

Estas en el tema de Ayuda urgente con variables en el foro de ASP Clásico en Foros del Web. Hola a todos, Tengo un problema que no se como solucionar. En una misma pagina tengo 2 sentencias SQL, donde la primera (SQL2) ha de ...
  #1 (permalink)  
Antiguo 07/11/2005, 03:19
 
Fecha de Ingreso: mayo-2003
Ubicación: Cardedeu
Mensajes: 14
Antigüedad: 21 años, 11 meses
Puntos: 0
Ayuda urgente con variables

Hola a todos,

Tengo un problema que no se como solucionar. En una misma pagina tengo 2 sentencias SQL, donde la primera (SQL2) ha de pasar un valor a la segunda (SQL) para que esta muestre una serie de resultados. EL problema està en que no se como pasarle el parametro se SQL2 a SQL. Os pongo el código para que lo veais más claro.

<%
Dim Nom
Dim Cognom
Nom= request.Form("nom")
Cognom = request.Form("cognom")

SQL2 = "SELECT CodColab FROM Colab WHERE CodUsuari='"& nom &"'"

set RsColabCercar = Server.CreateObject("ADODB.Recordset")
RsColabCercar.Open SQL2,MM_Incidencies2_STRING

SQL = "SELECT TipEstat,TitSolic,TxtSolic,DatSolic,CodColabAlta FROM Feines WHERE CodColabSolic='"& SQL2 &"'"

set RsIncidenciesCercar = Server.CreateObject("ADODB.Recordset")
RsIncidenciesCercar.Open SQL,MM_Incidencies_STRING

RsColabCercar_numRows2 = 0
RsIncidenciesCercar_numRows = 0


Dim Repeat1__numRows
Repeat1__numRows = -1
RsIncidenciesCercar_numRows = RsIncidenciesCercar_numRows + Repeat1__numRows

%>
  #2 (permalink)  
Antiguo 07/11/2005, 03:30
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 4 meses
Puntos: 144
Prueba a poner la sentencia sin las comillas simples (creo que debería funcionarte):
Código:
SQL = "SELECT TipEstat,TitSolic,TxtSolic,DatSolic,CodColabAlta FROM Feines WHERE CodColabSolic=("& SQL2 &")"
  #3 (permalink)  
Antiguo 07/11/2005, 03:36
 
Fecha de Ingreso: mayo-2003
Ubicación: Cardedeu
Mensajes: 14
Antigüedad: 21 años, 11 meses
Puntos: 0
Que va tampoco me funciona.

Por cierto muchas gracias por tu apoyo
  #4 (permalink)  
Antiguo 07/11/2005, 03:57
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 4 meses
Puntos: 144
¿Qué error te da?
Haz esto a ver como te construye la sentencia:
Código:
SQL = "SELECT TipEstat,TitSolic,TxtSolic,DatSolic,CodColabAlta FROM Feines WHERE CodColabSolic=("& SQL2 &")"
response.write SQL
response.end
  #5 (permalink)  
Antiguo 07/11/2005, 04:12
 
Fecha de Ingreso: mayo-2003
Ubicación: Cardedeu
Mensajes: 14
Antigüedad: 21 años, 11 meses
Puntos: 0
al poner el código me muestra lo siguiente:

SELECT TipEstat,TitSolic,TxtSolic,DatSolic,CodColabAlta FROM Feines WHERE CodColabSolic=(SELECT CodColab FROM Colab WHERE CodUsuari='davzab')

pero 'davzab' es el texto que yo he puesto en el formulario.

La idea es que yo pongo en un formulario el texto DavZab, SQL2 lo que hace es comparar este texto con un código (en este caso 656), este codigo se ha de pasar a SQL para que muestre unos resultados.

Me explico?

Espero puedas ayudarme. Muchas gracias
  #6 (permalink)  
Antiguo 07/11/2005, 04:46
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 4 meses
Puntos: 144
¿Pero qué error te da (quítale esos dos responses que te decía)?
  #7 (permalink)  
Antiguo 07/11/2005, 04:52
 
Fecha de Ingreso: mayo-2003
Ubicación: Cardedeu
Mensajes: 14
Antigüedad: 21 años, 11 meses
Puntos: 0
El error que me da es: No se puede mostrar la pagina.

la sentencia que construye es:

SELECT TipEstat,TitSolic,TxtSolic,DatSolic,CodColabAlta FROM Feines WHERE CodColabSolic=(SELECT CodColab FROM Colab WHERE CodUsuari='davzab')
  #8 (permalink)  
Antiguo 07/11/2005, 05:02
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 4 meses
Puntos: 144
Haz esto, para ver el error de forma descriptiva:
En el IE, ves al menú Herramientas -> Op. de inernet -> Opciones avanzadas, y desmarca "Mostrar mensajes descriptivos de los errores http".

Cierra IE, y vuelve a ejecutar la página a ver que error te sale.
  #9 (permalink)  
Antiguo 07/11/2005, 05:05
 
Fecha de Ingreso: mayo-2003
Ubicación: Cardedeu
Mensajes: 14
Antigüedad: 21 años, 11 meses
Puntos: 0
El error que me da es:

Microsoft OLE DB Provider for ODBC Drivers error '80040e37'

[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'Colab'.

/jordi/visualitzar.asp, line 21
  #10 (permalink)  
Antiguo 07/11/2005, 06:53
Avatar de Dorita  
Fecha de Ingreso: junio-2005
Ubicación: Entre la silla y el escritorio
Mensajes: 97
Antigüedad: 19 años, 10 meses
Puntos: 0
Hola bubu, no se si estaré equivocada o no, pero, no debería ir en la segunda sentencia sql el recordset? según yo, debería ser así:

SQL2 = "SELECT CodColab FROM Colab WHERE CodUsuari='"& nom &"'"

set RsColabCercar = Server.CreateObject("ADODB.Recordset")
RsColabCercar.Open SQL2,MM_Incidencies2_STRING


SQL = "SELECT TipEstat,TitSolic,TxtSolic,DatSolic,CodColabAlta FROM Feines WHERE CodColabSolic= '"& RsColabCercar ("CodColab")&"'"

y las comillas simples solo van si el resultado de la 2º sentencia sql no es numérica.

repito, no se si estaré equivocada o no, pero al menos yo siempre lo hago así.

salu2.-
__________________

<nick>Dorita</nick>...si lo sé, soy una ñoña ;)
  #11 (permalink)  
Antiguo 07/11/2005, 07:00
 
Fecha de Ingreso: mayo-2003
Ubicación: Cardedeu
Mensajes: 14
Antigüedad: 21 años, 11 meses
Puntos: 0
Muchas gracias Dorita, ahora ya me funciona.

Os agradezco a todos el apoyo.

Un saludo.
  #12 (permalink)  
Antiguo 07/11/2005, 07:02
Avatar de Dorita  
Fecha de Ingreso: junio-2005
Ubicación: Entre la silla y el escritorio
Mensajes: 97
Antigüedad: 19 años, 10 meses
Puntos: 0
De nada, me alegro q te funcione OK.-

salu2.-
__________________

<nick>Dorita</nick>...si lo sé, soy una ñoña ;)
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 17:02.