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 06-04-2007
francisco260184 francisco260184 is offline
Registrado
 
Registrado: abr 2007
Posts: 8
Poder: 0
francisco260184 Va por buen camino
Unhappy Error en Insert

Hola, Estoy haciendo un INSERT en una tabla que cree desde DELPHI 7, (en paradox), Pero me marca un error en un campo llamado DESCRIPCION, ya que la descripcion del producto contiene unas comillas ("). Es decir:

PRODUCTO --> SAWBLADE 8" DIAM/150TEETH.

Y me marca error al momento de insertarla en la tabla,
El campo de la tabla que yo cree se llama DESCR y es un Char (50)

El INSERT lo estoy haciendo de la siguiente manera:

Edit1.Text:=DBEdit1.Text;
Edit2.Text:=DBEdit2.Text;
Edit3.Text:=DBEdit3.Text;
Edit4.Text:=DBEdit4.Text;
Edit5.Text:=DBEdit5.Text;
Edit6.Text:=DBEdit6.Text;
Edit7.Text:=DBEdit7.Text;
Edit8.Text:=DBEdit8.Text;
Edit9.Text:=DBEdit9.Text;
Edit10.Text:=DBEdit10.Text;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('INSERT INTO temp (CVE_DOC,COST,CVE_ART,CVE_DOC2,DESCR,CVE_CLPV,FECHA_DOC,TIP_DOC,IMP_TOT4,CAN_TOT)');
Query1.SQL.Add('VALUES ("'+Edit1.Text+'","'+Edit2.Text+'","'+Edit3.Text+'","'+Edit5.Text+'","'+Edit4.Text+'","'+Edit6.Text+ '","'+Edit7.Text+'","'+Edit8.Text+'","'+Edit9.Text+'","'+Edit10.Text+'")');
Query1.ExecSQL;


Esto para que el usuario lo pueda ver....
QUE HAGO :S
Responder Con Cita
  #2  
Antiguo 06-04-2007
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
el problema es que estás usando comillas dobles para indicar los valores.

podrías usar comillas simples pero eso solucionará el problema por ahora sin embargo posteriormente cuando quieras poner algo como 3.5' tendrás problemas.

una solución podría ser la siguiente llevar el texto a una función que convierta la cadena en un conjunto de sumas de cadenas ojala te sirva este código:

Código Delphi [-]
function sumaCadenas(const cadena : string): string;
begin
   //reemplazamos las comillas simples por ^#^
   result := stringReplace(cadena, #39, '^#^', [rfReplaceAll]);
   //volvemos a reemplazar los ^#^ por comillas simples
   result := stringReplace(result, '^#^', #39+'+"'+#39+'"+'#39, [rfReplaceAll]);
result := #39+result+#39;
  //este es el resultado final
  inputbox('','', result);

end;

por ejemplo si tienes el texto hol'a a t"odos debe convertirlo a 'hol'+"'"+'a a t"odos' paradox acepta cualquiera
de los dos (comillas simples o dobles) para indicar cadenas

saludos
__________________
self.free;

Última edición por droguerman fecha: 06-04-2007 a las 04:28:47.
Responder Con Cita
  #3  
Antiguo 06-04-2007
francisco260184 francisco260184 is offline
Registrado
 
Registrado: abr 2007
Posts: 8
Poder: 0
francisco260184 Va por buen camino
Thumbs up

GRACIAS droguerman PROBLEMA RESUELTO.
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
!!!error de sintaxis en el INSERT INTO huwabe78 SQL 5 05-12-2006 00:45:55
Error al hacer insert (campo fecha) en firebird con fibplus Acanol Firebird e Interbase 7 15-06-2006 09:05:07
Error en subconsulta de un Insert lucasarts_18 MS SQL Server 4 02-12-2005 21:44:03
Insert me cierra otro Insert motrildelphi Conexión con bases de datos 0 05-05-2005 12:20:27
Sql Error: error cannot insert a duplicate......................... inexperto SQL 2 04-06-2004 12:54:59


La franja horaria es GMT +2. Ahora son las 21:01:01.


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