Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-11-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 21
toni.vi Va por buen camino
update campo con comillas

Hola,
Necesito hacer un update de este tipo:
Código SQL [-]
CommandText := ' update FMARTICULOS '
 + ' set DESCRIPCION = '   + '''' + valor + ''''
 + ' where ID = 1
donde valor es (L'opera) por ejemplo.
Es decir tiene una comilla dentro del texto.
Alguna idea.
Gracias
Responder Con Cita
  #2  
Antiguo 18-11-2009
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Hay distintas formas dependiendo de el gestor de bases de datos que estés utilizando y desde dónde quieres utilizarlo.

¿Qué gestor de base de datos utilizas? ¿En qué lenguaje programas (aunque por lo que veo, es Pascal)? ¿Cómo conectas con el gestor (BDE, ADO, ...)?
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 18-11-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 21
toni.vi Va por buen camino
Utilizo Firebird 1.5 y MySql.
Debo realizar actualizaciones masivas en ambos casos.
Los componentes es lo menos, es cuestión de sintaxis, pero utilizo los DbExpress.
El lenguaje D7.
Responder Con Cita
  #4  
Antiguo 18-11-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Para colocar el parámetro entre comillas es más sencillo y fácil de ver si utilizas QuotedStr. Eso te añade las comillas por ser un tipo String.

Código Delphi [-]
  ... Set Nombre = QuotedStr(Name)

En cuando a las interiores del texto, en SQLServer funciona si antes las cambias por dos comillas en lugar de una (no dobles, sino 2).

L''opera
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 18-11-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 21
toni.vi Va por buen camino
Si, ya se que QuotedStr funciona, pero es lo mismo que ''''.
De todas formas no puedo cambiar de una base de datos todos los campos a 2 comillas, traspasar y volver a cambiar los campos a una comilla.
Responder Con Cita
  #6  
Antiguo 18-11-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por toni.vi Ver Mensaje
Si, ya se que QuotedStr funciona, pero es lo mismo que ''''.
De todas formas no puedo cambiar de una base de datos todos los campos a 2 comillas, traspasar y volver a cambiar los campos a una comilla.
Hola toni, Neftali no se refiere a cambiar los datos en la base de datos, sino a que en el momento que hagas el Update le mandes con dos comillas porque si es solo una lo tomara como un inicio o fin de cadena dependiendo donde esta la comilla. Acabo de hacer la prueba en firebird y si funciona con dos comillas simples:

Código Delphi [-]
update FMARTICULOS 
set DESCRIPCION = 'L''Opera' where ID = 1

En delphi puedes utilizar la función StringReplace para cambiar valor, una comilla por dos comillas simples.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #7  
Antiguo 18-11-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Caro Ver Mensaje
Neftali no se refiere a cambiar los datos en la base de datos, sino a que en el momento que hagas el Update le mandes con dos comillas porque si es solo una lo tomara como un inicio o fin de cadena dependiendo donde esta la comilla.
Gracias Caro.
Tú sí que me entiendes...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 18-11-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 21
toni.vi Va por buen camino
Gracias Caro,
Yo tambien te he entendido.
Ya funciona bien.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hacer un insert o un update en un campo array David Firebird e Interbase 4 27-04-2007 19:14:13
Update para un campo dbgrid multiselect jorelivi Varios 1 26-04-2007 23:54:27
UPDATE de un campo dependiendo del valor de un campo de otra tabla Javi2 SQL 5 18-04-2005 16:35:05
Error en update campo tipo fecha dridly SQL 1 24-09-2004 14:27:37


La franja horaria es GMT +2. Ahora son las 14:15:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi