apostrofes en consulta

carlos
04 de Febrero del 2004
Hola,

Tengo una base de datos con nombre de las calles de España. El problema es que algunos nombres de calles tienen el apostrofe (por ej.: O\\'Donell en Madrid). La base de datos ya está creada y es enorme, la idea de modificarla a mano y sustituir todos los registros a mano es inviable.
Alguien sabe cómo modificar la sentencia sql inferior para ASP de modo que no de error.

calle= \"O\\'Donell\\'
sql = \"selct * from calles where nombre =\\' \" & calle & \"\\'\"

Muchas gracias

DIDE
04 de Febrero del 2004
Algo un poco bastante mas sencillo podria ser esto:
CADENA = "Yo con esto me 'olvido de las comillas simples'"
CADENA = REPLACE(CADENA,"'","''")

esa CADENA ya te sirve para tu SQL, sólo he substituido la comilla simple por una doble, un método muy utilizado para solventar este tipo de situaciones, espero te haya servido de ayuda.
Un saludo desde el otro lado del cable.

Lucilda
04 de Febrero del 2004
Hola,
lo primero que se me ocurre es que puedes intentar tratar la variable en la que tienes el nombre de la calle, es decir, mirar si la variable contiene un apostrofe con la función InStr y si la tuviera construir otra variable para añadirsela a la Query más o menos de esta manera:
c1 = "O'Donell"
--> c2 = "O" & "'" & "Donell"
para poder partir la variable tomo como referencia la posición del apóstrofe que me ha devuelto la función Instr y me quedo por un lado con la parte izquierda de la variable, concateno el apostrofe y después la parte derecha de la variable.ç
Left (c1, posApostrofe-1), concateno el apostrofe,
Rigth(c1, Len(c1)-posApostrofe)

Después en la consulta SQL sólo tengo que añadir la variable que me acabo de construir.

La explicación no es muy clara, pero espero que te ayude.