Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Problemas al ingresar un simbolo

Estas en el tema de Problemas al ingresar un simbolo en el foro de SQL Server en Foros del Web. Hola amigos quisiera pedirles su ayuda lo que pasa que sql server 2000 no me deja ingresar el simbolo ' en ninguna tabla de mi ...
  #1 (permalink)  
Antiguo 12/01/2007, 08:41
 
Fecha de Ingreso: mayo-2006
Mensajes: 35
Antigüedad: 18 años, 6 meses
Puntos: 0
Pregunta Problemas al ingresar un simbolo

Hola amigos quisiera pedirles su ayuda lo que pasa que sql server 2000 no me deja ingresar el simbolo ' en ninguna tabla de mi DB, que debo hacer para que me deje ingresar este simbolo y las comillas ("),
de antemano gracias..
  #2 (permalink)  
Antiguo 12/01/2007, 09:59
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 18 años
Puntos: 8
Re: Problemas al ingresar un simbolo

Que tal Cristian.

Tienes que reemplazar cada ocurrencia de un apostrofe por dos apostrofes, (no comillas), dentro de la cadena, no los que delimitan la cadena, es decir:
Código:
-- la siguiente sentencia genera un error, pues SQL no sabe el fin de cadena.
INSERT INTO Tabla ( id , name) VALUES ( 1, 'mc daniel's www ')

-- Debes de Tener (Usar dos apostrofes):
INSERT INTO Tabla ( id , name) VALUES ( 1, 'mc daniel''s www ')
Saludos y suerte!!

P.D. Si usas ASP como Front End, quizá el siguiente post te sea de utlidad:
http://www.forosdelweb.com/f15/insert-con-campo-con-comillas-452936/

Última edición por daniel00; 12/01/2007 a las 10:02 Razón: agregar Info.
  #3 (permalink)  
Antiguo 12/01/2007, 11:51
 
Fecha de Ingreso: mayo-2006
Mensajes: 35
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Problemas al ingresar un simbolo

Grcias daniel00 x la respuesta, pero mira voy a ser mas especifico en mi pregunta, lo que pasa que estoy trabajando con tablas DBF de foxpro, esas tablas las estoy trabajando desde visual basic, y de visual basic las estoy enviando hacia sql 2000, en un campo de una tabla DBF que se llama Nombre por ejemplo me sale una lista de nombre las cuales al mandar desde visual basic hacia sql, me arroja un error de que no puede ingresar uno de los nombres, por ejemplo.

si la persona se llama Bernardo O`higgins, ese apostrofe me da error, pero si se lo saco en las dbf y lo vuelvo a correr funciona perfecto, pero la idea no es cambiar a mano más de 4000 regsitros, esa es mi consulta:
quizas haya que cambiar algo en el servidor algun tipo de nombre de intercalacion ???

ojala me hayas entendido gracias.
  #4 (permalink)  
Antiguo 12/01/2007, 12:09
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 18 años
Puntos: 8
Re: Problemas al ingresar un simbolo

Cristian.

SQL Server 2000 tiene una herramienta que se llama importar, desde al administrador de SQL server, seleccionas tu BD's, das click con el botón derecho y luego le das importar, y te presenta un wizard.

En el wizard hay una opción para importar archivos DBF y sólo sigues los pasos.

Ahora bién, si es necesario hacerlo con un proceso(como ya lo tienes), seguramente el alguna parte de tu código hay una sentencia INSERT. Entonces lo que tienes que hacer es lo siguiente:

1.- Seguramente el campo Nombre lo pasas a una variable (Si no es así, hazlo)
2.- A esa variable antes de concatenarla con el resto de la sentencia, haz:
varNombre = REPLACE(varNombre, "'", "''")
Es decri, cambiamos un apostrofe por dos.
3.- Listo! ya puedes usar la variable varNombre en la sentencia de tu INSERT.

Entonces, si aún tienes duda, envianos la parte de tu código donde tienes esa sentencia INSERT.

Saludos y suerte!
  #5 (permalink)  
Antiguo 12/01/2007, 12:15
 
Fecha de Ingreso: mayo-2006
Mensajes: 35
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Problemas al ingresar un simbolo

mira parte de mi codigo:

aca rescato un nombre de mi DBF y la pongo en una variable de tipo String:
cNom = Trim(sx_EvalString("Art->Nombre"))

Esto x ejemplo me devuelve: Cristian M'BB

en mi insert:
ssql = "insert into nc_MaestroDeClientes values ('" & cNom & "')"
con.execute ssql

Pero me arroja error por el apostrofe!!!,
y Tengo Varios Nombres con apostrofe!!

Eso de importar los datos en este caso no me sirve por que son algunos campos de las DBF, ya lo habia probado jajaja. Gracias

saludoss...
  #6 (permalink)  
Antiguo 12/01/2007, 12:20
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 18 años
Puntos: 8
Re: Problemas al ingresar un simbolo

Muchas veces es más fácil quitar que poner ( hasta para el $$ dinero...jajaja)

Si importas todos los campos y luego borras los que no necesitas, listo!!

En Fin, tu código debe ser:
Código:
'cambiamos un apostrofe por dos.

cNom  = REPLACE( cNom  , "'", "''")
ssql = "insert into nc_MaestroDeClientes values ('" & cNom & "')"
con.execute ssql
Saludos y suerte!!
  #7 (permalink)  
Antiguo 12/01/2007, 12:23
 
Fecha de Ingreso: mayo-2006
Mensajes: 35
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Problemas al ingresar un simbolo

voy a probar y te avisoo...
Gracias
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 13:55.