apostrofes en consulta

carlos
04 de Febrero del 2004
Hola,

Tengo una base de datos con nombre de las calles de Espaa. 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 cmo 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, slo he substituido la comilla simple por una doble, un mtodo 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 funcin InStr y si la tuviera construir otra variable para aadirsela a la Query ms o menos de esta manera:
c1 = "O'Donell"
--> c2 = "O" & "'" & "Donell"
para poder partir la variable tomo como referencia la posicin del apstrofe que me ha devuelto la funcin Instr y me quedo por un lado con la parte izquierda de la variable, concateno el apostrofe y despus la parte derecha de la variable.ç
Left (c1, posApostrofe-1), concateno el apostrofe,
Rigth(c1, Len(c1)-posApostrofe)

Despus en la consulta SQL slo tengo que aadir la variable que me acabo de construir.

La explicacin no es muy clara, pero espero que te ayude.