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

Strings VS Ints... mismatch... ayudaaaa!!

Estas en el tema de Strings VS Ints... mismatch... ayudaaaa!! en el foro de ASP Clásico en Foros del Web. Hola... Tengo una forma en la que quiero desplegar datos. Estoy trabajando con ASP, tengo una variable (valor) a la que le asigno el valor ...
  #1 (permalink)  
Antiguo 08/03/2005, 16:45
 
Fecha de Ingreso: septiembre-2003
Mensajes: 96
Antigüedad: 21 años, 7 meses
Puntos: 0
Strings VS Ints... mismatch... ayudaaaa!!

Hola...

Tengo una forma en la que quiero desplegar datos. Estoy trabajando con ASP, tengo una variable (valor) a la que le asigno el valor de un textfield. Ahora bien, cuando hago la sentencia SQL para que lea ese dato y me despliegue los campos correspondientes a ese registro, me devuelve un error que dice Mismatch Error... y es por que ese campo, por el que realizo la búsqueda, es un campo de access y es Autonumérico. Les pongo mi sentencia SQL para ver si me pueden ayudar a detectar el error... supongo yo que estoy comparando una cadena de caracteres con un dato numérico y que por eso me devuelve error...


Dim valor
valor = request("value")
---
RS.Open "SELECT * FROM Servicios WHERE Id = '"& valor & "' "


Gracias por su valiosísima ayuda... MIL GRACIAS!

Saludos!
  #2 (permalink)  
Antiguo 08/03/2005, 16:49
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Supones bien, solo quitale las comillas simples cuando concatenas tu variable:

RS.Open "SELECT * FROM Servicios WHERE Id = "& valor

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 08/03/2005, 17:18
 
Fecha de Ingreso: septiembre-2003
Mensajes: 96
Antigüedad: 21 años, 7 meses
Puntos: 0
Sigo con errores... ahora me dice que esta mal el query. Este es el error:

Syntax error (missing operator) in query expression 'Id ='.

y mi expresión quedó así: RS.Open "SELECT * FROM Servicios WHERE Id = " & valor

Heeeeeeeeelp!!!

Gracias
  #4 (permalink)  
Antiguo 08/03/2005, 17:33
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Sigue estos pasos:

1.- que tipo de dato tienes en el campo id?
2.- DEBUGUEA je je( Muzz) Imprime tu sentencia y pegala aqui

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 08/03/2005, 17:41
 
Fecha de Ingreso: septiembre-2003
Mensajes: 96
Antigüedad: 21 años, 7 meses
Puntos: 0
pues es un textfiel llamado value:

<input name="value" type="text" class="style4" id="value" value="" size="10" maxlength="5">
saludos!
  #6 (permalink)  
Antiguo 08/03/2005, 18:47
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
EN el campo id de la base de datos, no en el formulario! y seguramente es un texto, por lo tanto si necessitas pasarle las comillas simples, el problema es que debe estar llgando vacio tu argumento!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 09/03/2005, 09:33
 
Fecha de Ingreso: septiembre-2003
Mensajes: 96
Antigüedad: 21 años, 7 meses
Puntos: 0
el campo ID en la base de datos es de tipo autonumérico, ya que mi base de datos está en excel.

No puedo hallar a qué se debe el problema.
  #8 (permalink)  
Antiguo 09/03/2005, 11:38
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Esta en Excel??? pues no me acuerdo bien, pero si esta en Excel, es muy probable que sea string, no autonumerico, ademas como va a ser un campo autonumerico en Excel??? pon el codigo por favor y a ver de que se trata

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 09/03/2005, 12:34
 
Fecha de Ingreso: septiembre-2003
Mensajes: 96
Antigüedad: 21 años, 7 meses
Puntos: 0
No, no, no... mi base de datos está en ACCESS, no en excel. Es por eso que el campo es de tipo AUTONUMERICO

Mi código:

<input name="val" type="text" class="style4" id="val" size="10" maxlength="5">

Dim valor
valor = request("val")

Set Conexion = Server.CreateObject( "ADODB.Connection" )
Conexion.Open "mi-odbc"
Set RS = Server.CreateObject("ADODB.Recordset")
RS.ActiveConnection = Conexion

RS.Open "SELECT * FROM Servicios WHERE Id = " & valor

<% Response.Write RS ("dir") %>


Saludos!
  #10 (permalink)  
Antiguo 09/03/2005, 12:37
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Prueba a poner en lugar de valor = request("val")
valor = 1
  #11 (permalink)  
Antiguo 09/03/2005, 12:38
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Si estas enviando el formulario??
Si haces esto, que resulta:

Dim valor
valor = request("val")
Response.Write(valor)
Response.End
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #12 (permalink)  
Antiguo 09/03/2005, 12:48
 
Fecha de Ingreso: septiembre-2003
Mensajes: 96
Antigüedad: 21 años, 7 meses
Puntos: 0
Ya lo he hecho asignando el valor 1 a mi valiable VALOR y sí funcionó... me desplegó los datos de ese registro, con Id=1...pero entonces, por ké no me toma el valor del textfield con el request??

es un formulario con method="GET"... el valor del textfield val es el único que me interesa y que recupero... he aquí las líneas de comando:


<form name="form1" method="get" action="solicitud-full.asp">
<table width="703" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="188" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td width="31"><span class="style3">ID:</span></td>
<td width="82"><input name="val" type="text" class="style4" id="val" size="10" maxlength="5"></td>
<td width="75"><div align="right">
<input type="submit" name="Submit" value="Mostrar">


Saludos!
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:46.