Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   problema con una consulta (https://www.clubdelphi.com/foros/showthread.php?t=73412)

leofuentes21 19-04-2011 19:01:57

problema con una consulta
 
Hola amigos espero tengan un buen dia todos.
Espero me puedan ayudar con un problemita que tengo.me disculpan sino me se explicar bie.
estoy trabajando con una base en firebire el problema es el siguiente:

lo que hago es hacer una consulta y me la muestra en unos edits la informacion de x empleado,y con otra consulta me muestra en otros edits las tareas que asigno al empleado.
Cuando asigo la tarea y la guardo la primera ves la guarda bien y me la muestra en el grid pero cuand quiero asignarle otra tarea me da este error.

'invalid modify request' conversion error from string. process stopped.


este es mi codigo.
Código Delphi [-]
with QINGRESAR do
      begin
       SQL.Clear;
      SQL.Text:='INSERT INTO TRABAJOS(AUTOMATICO,COD_EMPLEADO,NOMBRE,IDENTIDAD,CODTAREA,TAREA,FECHA,COD_DEPTO,TIPO_TAREA,PRECIO_U  NITARIO,DEDUC)'
      +'VALUES('+QUOTEDSTR(INTTOSTR(QAUTOMATICO.FIELDBYNAME('AUTOMATICO').AsInteger+1))+','+QUOTEDSTR(LABE  L7.Caption)
      +','+QUOTEDSTR(EDT1.Text)+','+QUOTEDSTR(EDIT1.Text)+','+QUOTEDSTR(X.Text)
      +','+QUOTEDSTR(Edit2.Text)+','+QUOTEDSTR(DateToStr(fecha1.Date))+','+QUOTEDSTR(Edit5.text)
      +','+QUOTEDSTR(Label6.Caption)+','+QUOTEDSTR(CurrToStr(FRACCION2.Value))+','+QUOTEDSTR(CurrToStr(FRA  CCION.Value*FRACCION2.Value))+')';
      ExecSQL;
      end;

de adelantado gracias por su ayuda.

Caral 19-04-2011 19:08:17

Hola
Podria ser que necesites hacer un commitTrans, o un commit en el Transaction.
Por otro lado, te recomiendo usar parametros.
Saludos

leofuentes21 19-04-2011 19:10:46

de echo si tengo la consulta en transaccion.pero no funciona no se porque me da el error

Casimiro Noteví 19-04-2011 19:13:10

Pues pon todo el código fuente que lo veamos.

Caral 19-04-2011 19:13:28

Hola
Este error es muy normal cuando un dato no es el correcto:
conversion error from string
1. Usar parametros.
2. Revisar que los datos sean y esten correctos.
Saludos

Caral 19-04-2011 19:16:29

Hola
Cita:

Empezado por Casimiro Notevi (Mensaje 397587)
Pues pon todo el código fuente que lo veamos.

Y donde queda el asunto de adivinar de que se trata, asi se pierde emocion...:D:D:D
Saludos

Casimiro Noteví 19-04-2011 19:22:20

Cita:

Empezado por Caral (Mensaje 397589)
Hola
Y donde queda el asunto de adivinar de que se trata, asi se pierde emocion...:D:D:D
Saludos

Eso es cierto, la solución se daría al instante y luego nos aburriríamos sin saber qué hacer :)

leofuentes21 19-04-2011 19:23:24

ok este es el todo el codigo.

el error solo me lo da cuando quiero asignarle otra tarea al empleado.algo curioso es que si vuelvo a elegir de nuevo al empleado que le quiero asignar de nuevo otra tarea lo ace bien y no me da error.


Código Delphi [-]
if X2.Text='12' then
    begin
      ShortDateFormat:='mm/dd/yyyy';
     IF NOT Main.database1.intransaction then Main.database1.StartTransaction;
      try
      QAUTOMATICO.Active:=False;
      QAUTOMATICO.Active:=True;
      with QINGRESAR do
      begin
       SQL.Clear;
      SQL.Text:='INSERT INTO TRABAJOS(AUTOMATICO,COD_EMPLEADO,NOMBRE,IDENTIDAD,CODTAREA,TAREA,FECHA,COD_DEPTO,TIPO_TAREA,PRECIO_U  NITARIO,DEDUC)'
      +'VALUES('+QUOTEDSTR(INTTOSTR(QAUTOMATICO.FIELDBYNAME('AUTOMATICO').AsInteger+1))+','+QUOTEDSTR(LABE  L7.Caption)
      +','+QUOTEDSTR(EDT1.Text)+','+QUOTEDSTR(EDIT1.Text)+','+QUOTEDSTR(X.Text)
      +','+QUOTEDSTR(Edit2.Text)+','+QUOTEDSTR(DateToStr(fecha1.Date))+','+QUOTEDSTR(Edit5.text)
      +','+QUOTEDSTR(Label6.Caption)+','+QUOTEDSTR(CurrToStr(FRACCION2.Value))+','+QUOTEDSTR(CurrToStr(FRA  CCION.Value*FRACCION2.Value))+')';
      ExecSQL;
      end;
      Main.database1.commit;
      except
      main.database1.rollback;
      MessageDlg('Error al guardar',mtError,mbOKCancel,0);
      Exit;
      end;
    end
   else
   begin
    ShortDateFormat:='mm/dd/yyyy';
    if NOT Main.database1.intransaction then Main.database1.StartTransaction;
      try
      QAUTOMATICO.Active:=False;
      QAUTOMATICO.Active:=True;
      with QINGRESAR do
      begin
      SQL.Clear;
      SQL.Text:='INSERT INTO TRABAJOS(AUTOMATICO,COD_EMPLEADO,NOMBRE,IDENTIDAD,CODTAREA,TAREA,FECHA,COD_DEPTO,TIPO_TAREA, PRECIO_UNITARIO,CANTIDAD,PRECIO_TOTAL)'
      +'VALUES('+QUOTEDSTR(INTTOSTR(QAUTOMATICO.FIELDBYNAME('AUTOMATICO').AsInteger+1))+','+QUOTEDSTR(LABE  L7.Caption)
      +','+QUOTEDSTR(EDT1.Text)+','+QUOTEDSTR(EDIT1.Text)+','+QUOTEDSTR(X.Text)
      +','+QUOTEDSTR(Edit2.Text)+','+QUOTEDSTR(DateToStr(fecha1.Date))+','+QUOTEDSTR(Edit5.text)
      +','+QUOTEDSTR(Label6.Caption)+','+QUOTEDSTR(CurrToStr(FRACCION2.Value))
      +','+QUOTEDSTR(CurrToStr(FRACCION.Value))+','+QUOTEDSTR(CurrToStr(FRACCION.Value*FRACCION2.Value))+'  )';
      ExecSQL;
      end;
      main.database1.commit;
     except
       main.database1.rollback;
       MessageDlg('Error al guardar',mtError,mbOKCancel,0);
       Exit;
      end;
     end;

Caral 19-04-2011 19:25:48

Hola
Bueno, tan al instante tampoco por que si no tambien nos aburrimos esperando la siguiente pregunta, hay que dar la respuesta con cuenta gotas, recuerda, post amigo, post :D:D:D
Saludos

leofuentes21 19-04-2011 19:30:32

jejeje per si todavia no lo he solucionado.
estoy provando campo por campo a ver donde esta el error. por que estar reeligiendo el empleado varias veces para asignarle tarea creo que no es correcto y pienso que se pierde tiempo tambien.entonces quiero ver como solucionar eso.

Caral 19-04-2011 19:40:31

Hola
Usas IBX ?
Saludos

leofuentes21 19-04-2011 19:46:48

Hola ya lo solucione,la consulta esta buena,el problema que tenia era cuando guardaba la informacion tenia un label.caption:=' ' que era donde contenia el codigo del empleado pero esta oculto y por eso me daba el error de conversion.
lo que pasa que estoy arreglenado un sistema echo por un excompañero de trabajo y havia pasado desapersivido ese pequeño gran detalle.

gracias a todos por sus repuesta.

Caral 19-04-2011 19:49:38

Hola
Osea: Ahora nos dejaste vestidos y alborotados:(:(:D:D:D
Me alegro que lo solucionaras.
Saludos

leofuentes21 19-04-2011 19:53:20

Hola jajajaja :D:D
gracias desde ayer estaba con este problema y tan sencillo que estaba la solucion.

Casimiro Noteví 19-04-2011 19:55:21

Vaya, voy a quitarme el traje de los domingos :( ;):D


La franja horaria es GMT +2. Ahora son las 03:53:03.

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