Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Ayuda Con Update (https://www.clubdelphi.com/foros/showthread.php?t=69681)

microbiano 01-09-2010 22:30:04

Ayuda Con Update
 
bueno pues aqui estoy dandoles lata la verdad no entiendo lo que antes funcionaba ahora ya no funciona esto me paso despues de formatear la pc y despues de poner la carpeta de respaldo del sistema en la ruta que antes tenia.


bueno quiero modificar una registro de una tabla y lo hacia de la siguiente manera
Código Delphi [-]
with Fmodulo.QryTemp do
     begin
      SQL.Clear;
      sql.Add('update volantes set fecha_oficio=:P_fechaoficio');
      sql.Add('Where id_volante=:P_identificador');
      Parameters.ParamByName('p_fechaoficio').DataType:=ftDate;
      Parameters.ParamByName('P_fechaoficio').value:=wfechaoficio;//variable de tipo Tdate
      Parameters.ParamByName('p_identificador').Value:=wfirmado;
      try
        ExecSQL;
        application.MessageBox('Registro Modificado Exitosamente','',mb_ok + mb_iconinformation);
        exit;
      except
       showmessage('Problemas con Query de Modificacion ['+text+']');
       exit;
      end;
     end;

sin embargo ahora que quiero hacerlo me dice que la aplicacion usa un valor de tipo no valido para la aplicacion actual alguien sabe por que? puede pasar este error.

o que estoy haciedno mal?

Caral 01-09-2010 22:52:34

Hola
No se que es FTDate ademas solo tiene 2 parametros el update el tercero no existe, trata asi:
Código Delphi [-]
with Fmodulo.QryTemp do
     begin
      sql.Text:= ' update volantes set fecha_oficio = :P_fechaoficio '+
                 ' Where id_volante = :P_identificador ';
      Parameters[0].Value:= ftDate;
      Parameters[1].value:= wfechaoficio;//variable de tipo Tdate
   //   Parameters[2].Value:=wfirmado; // este parametro no existe
      try
        ExecSQL;
        application.MessageBox('Registro Modificado Exitosamente','',mb_ok + mb_iconinformation);
        exit;
      except
       showmessage('Problemas con Query de Modificacion ['+text+']');
       exit;
      end;
     end;
Saludos

Casimiro Notevi 01-09-2010 23:00:19

Si el campo fechaoficio es un date, entonces está sobrando la primera línea que le dice el tipo que es

Parameters.ParamByName('p_fechaoficio').DataType:=ftDate;

Por lo que sólo es necesario:

Código:

Parameters.ParamByName('P_fechaoficio').value := wfechaoficio;
Parameters.ParamByName('p_identificador').Value := wfirmado;


Caral 01-09-2010 23:02:33

Hola
En tal caso sigue sobrando un parametro:
Código Delphi [-]
with Fmodulo.QryTemp do
     begin
      sql.Text:= ' update volantes set fecha_oficio = :P_fechaoficio '+
                 ' Where id_volante = :P_identificador ';
      Parameters[0].value:= wfechaoficio;
      Parameters[1].Value:= wfirmado; 
      try
        ExecSQL;
        application.MessageBox('Registro Modificado Exitosamente','',mb_ok + mb_iconinformation);
        exit;
      except
       showmessage('Problemas con Query de Modificacion ['+text+']');
       exit;
      end;
     end;
Saludos

microbiano 01-09-2010 23:46:15

respuesta
 
Caral.


ya probe con
Código Delphi [-]
sql.Text:= ' update volantes set fecha_oficio = :P_fechaoficio '+
                 ' Where id_volante = :P_identificador ';
      Parameters[0].Value:= ftDate;
      Parameters[1].value:= wfechaoficio
sin embargo me dice manda el error de caracteristica opcional no implementad, en cuanto a los
parametros no sobran ya que en esta linea

Código Delphi [-]
  Parameters.ParamByName('p_fechaoficio').DataType:=ftDate;


le estoy diciendo de que tipo es el parametro.

ahora bien

casimiro el campo en la abse de datos que es sqlserver200 es de tipo DATETIME.

probare cambiando el tipo de variables a donde guardo las fechas.

microbiano 01-09-2010 23:51:12

REspuesta a Casimiro
 
tenia las variables de tipo Tdate las cambie a Tdatime por que en la base de datos asi esta.


ejecutando el programa la verdad me sigue el mismo erro caracteristica opcional no implmentada.


La franja horaria es GMT +2. Ahora son las 14:11:06.

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