ASP - Secuencias de escape VBScript, formatos de fecha..

 
Vista:

Secuencias de escape VBScript, formatos de fecha..

Publicado por Funkifize (3 intervenciones) el 26/09/2000 00:00:00
Alguien sabe cuales son las secuencias de escape en VBScript (o en VB) para cadenas de texto?

En el caso de las cadenas SQL, ADO no sigue las recomendaciones ANSI:
\´ para ´
\" para "
\\ para \
...

Con lo cual si te montas una cadena SQL del tipo
"INSERT into tabla (v1) values (´" & Request.QueryString("variable_de _paso") & "´)"

si variable_de_paso contiene el caracter ´
se te va todo al garete. Pues ese ´ te "jode" la sintaxis de la cadena, pues te "cierra" la cadena de la variable antes de lo que se pretende.

----

Otro problema con el que me encuentro es que al programar asp con mi IIS en español trabajo con formatos de fecha y formato de decimales en español. Al ponerlos en el website resulta que este es en ingles y trabaja con formatos de fecha y decimales en ingles.
Lo he probado todo:
<@ Session.CodePage = Ya no me acuerdo del numero>
<@ Session.LCID = Tampoco me acuerdo>
Y nada...

Alguien ha tenido los mismos problemas
y los ha podido solucionar?

Supongo que los he expuesto bien.

Thanx por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Secuencias de escape VBScript, formatos de fech

Publicado por Guy (203 intervenciones) el 26/09/2000 00:00:00
No entiendo para que pones las ´, para mi asi tiene que andar:

<% sql = "INSERT into tabla (v1) values (" & Request.QueryString("variable_de_paso") & ")" %>

Sino proba con esto:

<% Aux = Request.QueryString("variable_de_paso")%>

<% sql = "INSERT into tabla (v1) values (" & Aux & ")" %>


Cualquier cosa avisame. Saludos.
Guy.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Secuencias de escape VBScript - Encontre la sol

Publicado por Funkifize (3 intervenciones) el 27/09/2000 00:00:00
Si no pasas las cadenas de caracteres entre
comilla simple ´ te surgen mas problemas de los que yo exponia en el primer mensaje.
El standard dice que se deben poner entre ´. Si microsoft tiene un interprete tan ´inteligente´ que no te da error al obviarlas... alla tu.
Veras que pasa si la variable contiene una coma ,
por ejemplo...

vble="avenida kk, 5"
SQLStr="INSERT INTO Direccion (calle) Values (" & vble & ")"

SQLStr te queda:
INSERT INTO Direccion (calle) Values (avenida kk, 5)

Ahora el motor sql se piensa que le pasas el valor de dos vbles. "avenida kk" y "5", con lo que te da error...

Si utilizas ´avenida kk, 5´ te lo interpretara como un todo.

...por otra parte ya he encontrado la solucion a mi problema...

La secuencia de escape de ´ es ´´ -si, dos comillas simples. -la he encontrado a base de hacer muuuuchas pruebas-

Ahora puedo entrar cadenas de caracteres sin lugar a confusion.

Ej.:

vble="avda de l´atlantida" ´en catalan se usa mucho el apostrofe ´

SQLStr="INSERT INTO Direccion (calle) Values(´" & ArreglaString(vble) & "´)"

Donde:
Function ArreglaString(origen)
ArreglaString=Replace(origen,"´","´´")
End Function

Asi tengo:
INSERT INTO Direccion (calle) Values(´avda de l´´atlantida´)"

Para el interprete de Microchoft ´´ quiere decir el caracter ´ i no el final de cadena.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Secuencias de escape VBScript, formatos de fech

Publicado por Alejandro (8 intervenciones) el 04/10/2000 00:00:00
Bueno veo que la pregunta sobre los reemplazos de caracteres ya te la contestaron.
En cuanto a las fechas yo lo he podido solucionar de forma temporal con el commando "SetLocale"
Lo que tenes que hacer en tu asp es cada vez que vayas a mostrar una fecha colocar este comando en la linea anterior por ejemplo
SetLocale("es-ar") ´este ejemplo es español-argentina
Response.Write date
de esta manera la fecha la muestra en el formato que quieras. el unico problema que hay con esto es que cada vez que quieras mostrar una fecha debes colocar el commando.
espero te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar