problema con los caracteres ' ; en sql

17/07/2003 - 10:09 por Martin Villafañe | Informe spam
Hola a todos :
tengo un problema tengo que insertar en un campo de una base de sql, un
texto que tiene caracteres especiales, como los ' , ; ect como hago para
insertarlos tambien con el texto, ya que no me los puedo borrar porque son
documentos legales y tienen que estar con todas las acentuaciones del
español y catalan.

si no es posible lo anterior.. de que otra manera puedo insertarlos sin
usar una consulta de texto de sql ?

saludos a todos

Preguntas similare

Leer las respuestas

#1 Leonardo Azpurua
17/07/2003 - 13:46 | Informe spam
"Martin Villafañe" escribió en el mensaje
news:e$
Hola a todos :
tengo un problema tengo que insertar en un campo de una base de sql, un
texto que tiene caracteres especiales, como los ' , ; ect como hago


para
insertarlos tambien con el texto, ya que no me los puedo borrar porque son
documentos legales y tienen que estar con todas las acentuaciones del
español y catalan.

si no es posible lo anterior.. de que otra manera puedo insertarlos


sin
usar una consulta de texto de sql ?

saludos a todos



Hola, Martín:

Hace unos días se respondió a una consulta igual.

Tanto Access 2000 como SQL Server aceptan construcciones del tipo:

UPDATE Tabla SET Nombre = 'McDonald''s'

es decir, ambos interpretan los dos apóstrofes dentro de una expresión
delimitada por apóstrofes como un apóstrofe simple, parte del texto.

Es decir, que basta conque hagas Replace(sTexto, "'", "''").

Salud!

Leonardo
MS MVP
Respuesta Responder a este mensaje
#2 Martin Villafañe
17/07/2003 - 15:02 | Informe spam
gracias, pero conoces alguna pagina que tenga las equivalencias. ya que eso
es solo valido para la comilla simple ', y como lo que yo estoy guardando
es texto en html, y en catalan.
se me presentan problemas con los & y los ; ,que no se como remplarlos para
que cuando se vuelva a visualizar el contenido de esa pagina en el navegador
no me aparescan cosas raras. por ejemplo
si en el codigo tengo un espacio en blanco que es &bsp, si borro el & pues
luego tendre en el documento palabras bsp por cada espacio en blanco.

saludos


"Leonardo Azpurua" <l a z p u r u a g (arroba) c a n t v (punto) n e t>
escribió en el mensaje news:

"Martin Villafañe" escribió en el mensaje
news:e$
> Hola a todos :
> tengo un problema tengo que insertar en un campo de una base de sql, un
> texto que tiene caracteres especiales, como los ' , ; ect como hago
para
> insertarlos tambien con el texto, ya que no me los puedo borrar porque


son
> documentos legales y tienen que estar con todas las acentuaciones del
> español y catalan.
>
> si no es posible lo anterior.. de que otra manera puedo insertarlos
sin
> usar una consulta de texto de sql ?
>
> saludos a todos

Hola, Martín:

Hace unos días se respondió a una consulta igual.

Tanto Access 2000 como SQL Server aceptan construcciones del tipo:

UPDATE Tabla SET Nombre = 'McDonald''s'

es decir, ambos interpretan los dos apóstrofes dentro de una expresión
delimitada por apóstrofes como un apóstrofe simple, parte del texto.

Es decir, que basta conque hagas Replace(sTexto, "'", "''").

Salud!

Leonardo
MS MVP


Respuesta Responder a este mensaje
#3 Victor Koch
17/07/2003 - 15:25 | Informe spam
Jeje, a ver si se termina este tema de las comillas y demás yerbas en los
string, esta pregunta se esta haciendo todos los días, les voy a enviar una
rutina para solucionar este tema, o por lo menos como lo solucione yo, no se
si será la mejor forma de hacerlo pero yo la uso desde hace 4 años y hasta
ahora no tuve problemas.

Agregar esta función a un modulo bas

Function Comillas(MiString As String, TipodeBase As String) As String
Comillas = RTrim$(MiString)
If Comillas <> "" Then
Comillas = Replace(Comillas, "'", "''")
If UCase(TipodeBase) = "MYSQL" Or UCase(TipodeBase) = "POSTGRESQL"
Then
Comillas = Replace(Comillas, "\", "\\")
End If
Comillas = "'" & Comillas & "'"
Else
Comillas = "NULL"
' el que no quiera grabar NULL en la base de un campo que esta
vacío y quiere grabar ""
'debe reemplazar esta asignación por Comillas = "''"
End If
End Function

En el parámetro podría venir el tipo de base de datos, como verán en el
código si la base de datos es MYSQL o POSTGRESQL también hay que reemplazar
el carácter \ por \\, dado que para estas bases dicho carácter es reservado.

Par usar la función en un insert o update hacer lo siguiente:

Dim Clausula as string

Clausula = "INSERT INTO MITABLA "
Clausula = Clausula & "(CAMPO1,CAMPO2"
Clausula = Clausula & ") VALUES ("
Clausula = Clausula & Comillas(TXTCampo1.Text) & ","
Clausula = Clausula & Comillas(TXTCampo2.Text)
Clausula = Clausula & ")"

Un saludo, Víctor Koch.


"Martin Villafañe" escribió en el mensaje
news:e$
Hola a todos :
tengo un problema tengo que insertar en un campo de una base de sql, un
texto que tiene caracteres especiales, como los ' , ; ect como hago


para
insertarlos tambien con el texto, ya que no me los puedo borrar porque son
documentos legales y tienen que estar con todas las acentuaciones del
español y catalan.

si no es posible lo anterior.. de que otra manera puedo insertarlos


sin
usar una consulta de texto de sql ?

saludos a todos


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida