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

Expertos en comillas...

Estas en el tema de Expertos en comillas... en el foro de ASP Clásico en Foros del Web. Estoy haciendo una sentencia donde necesito pasar el valor de un chekbox, lo paso y lo recibo para meterlo en la SQL de esta forma: ...
  #1 (permalink)  
Antiguo 14/12/2002, 12:34
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 22 años, 5 meses
Puntos: 11
Expertos en comillas...

Estoy haciendo una sentencia donde necesito pasar el valor de un chekbox, lo paso y lo recibo para meterlo en la SQL de esta forma:
sSQL = sSQL & SQLStr(sTourism) & ", "

Pero es leido en forma de texto pues en el response.write me escribe
'true'

Y por tanto me da un error de sintaxis en el insert, el caso es cómo cambie ese 'true' a true?


Gracias.
  #2 (permalink)  
Antiguo 14/12/2002, 15:33
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 21 años, 10 meses
Puntos: 0
Probá detectando el true

If Request.Form("Nombre") = "True" Then
RS("Campo") = True
else
RS("Campo") = False
End If
RS.Update

saludos
  #3 (permalink)  
Antiguo 14/12/2002, 18:38
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 22 años, 5 meses
Puntos: 11
Delavega,
Lo que tu me dices es probar si está pasando el true?

Si es esto, al hacer un response.write el campo me aparece como 'true' lo que creo que necesito es que el campo aparezca como true sin comillas.

recojo del form:
secology = Request.Form("ecology")

la sentencia es:
sSQL = ""
sSQL = sSQL & "INSERT INTO Comercials ( ecology) "
sSQL = sSQL & " VALUES ( "& SQLStr(sEcology) & " )"

y el response.write me da:

INSERT INTO Comercials (ecology) VALUES ( 'true')

el servidor me manda este error:
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis en la instrucción INSERT INTO.



Qué es?
  #4 (permalink)  
Antiguo 14/12/2002, 18:43
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 21 años, 10 meses
Puntos: 0
Probá así:


If Request.Form("ecology") = "True" Then
secology = True
else
secology = False
End If

Y decime si así funciona
  #5 (permalink)  
Antiguo 14/12/2002, 22:34
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 22 años, 5 meses
Puntos: 11
DeLaVega,
Dónde meto esa instrucción?



Para qué?
  #6 (permalink)  
Antiguo 14/12/2002, 23:47
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 21 años, 10 meses
Puntos: 0
A ver si te entiendo bien. Por lo que me decís, tu problema es que al recuperar el valor del checkbox te lo recupera como "True" en vez de True. Hasta ahí estamos. Lo que yo te digo es que no insertes ese "True" que estás recuperando, sino que verifiques primero con un simple if para ver si es "True". Si es "True" a una variable cualquiera (que después es la que vas a insertar) le asignas True (sin comillas). En otro caso (sería el falso, el checkbox te devuelve vacío si no está marcado) le asignas False a esa variable a insertar.
El código que te puse antes, lo ponés cuando recuperás, quedaría algo así:

Código:
If Request.Form("ecology") = "True" Then
   secology = True
else
   secology = False
End If

sSQL = ""
sSQL = sSQL & "INSERT INTO Comercials ( ecology) "
sSQL = sSQL & " VALUES ( "& SQLStr(sEcology) & " )"
Supongo que estoy interpretando bien lo que decís, si ése es tu problema (que está insertando "true" en vez de true.)
saludos.

Última edición por DeLaVega; 14/12/2002 a las 23:52
  #7 (permalink)  
Antiguo 15/12/2002, 07:09
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 22 años, 5 meses
Puntos: 11
Hey amigo, no entiendo, simplemente me estoy dejando guiar.

Hice lo que me dices y en el insert me mete el valor como NULL

INSERT INTO Comercials (ecology) VALUES ( NULL)




Ahora?
  #8 (permalink)  
Antiguo 15/12/2002, 08:25
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mercedes
Mensajes: 92
Antigüedad: 22 años, 5 meses
Puntos: 0
¿Por que en la parte que creas la consulta pones:
sSQL = sSQL & " VALUES ( "& SQLStr(sEcology) & " )"
?

y no simplemente:

sSQL = sSQL & " VALUES (" & request.form("sEcology") & ")"
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 12:47.