Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Modifiar fecha DateTimePiker con sentencia SQL... (https://www.clubdelphi.com/foros/showthread.php?t=71846)

verito_83mdq 13-01-2011 23:02:12

Modifiar fecha DateTimePiker con sentencia SQL...
 
Otra vez, ya me da vergüenza molestar pero estoy con problemas con el tema de modificar la fecha de los DateTimePiker usando sentencia SQl, esta es la consulta sql:


Código SQL [-]
with QueryDataModule.ConyugeZQuery do            
                begin 
                   If active then close; 
SQL.Clear; SQL.Add('Update conyuge set '); SQL.Add('Apellido='''+ApellidoEdit.Text+''', '); SQL.Add('Nombre='''+NombreEdit.Text+''', '); SQL.Add('Fecha_Nacimiento:=:FechaNacimiento,'); SQL.Add(ParamByName ('FechaNacimiento').Value:=FechaNacimientoDateTimePicker.DateTime); SQL.Add('DNI='''+DNIEdit.Text+''' '); SQL.Add('Where conyuge.ID_Conyuge='+r+''); ExecSQL;
end; end;

Con esa consulta modifico los datos listados en el Form, con lo único que tengo problemas es con la fecha, los demás campos andan bien. Trate de pasarla como parametro pero me marca error en la consuta. Espero que me puedan dar una mano! Graciass!!!;)

Casimiro Notevi 13-01-2011 23:50:10

Prueba mejor algo así:

Código Delphi [-]
sql.text:='update conyuge set apellido= :apellido, nombre= :nombre fecha_nacimiento= :fechanacimiento, dni= :dni where id_conyuge= :r';
sql.parambyname('apellido').asstring:= apellidoedit.text;
sql.parambyname('nombre').asstring:= nombreedit.text;
sql.parambyname('fecha_nacimiento').asdatetime:= fechanacimientodatetimepicker.datetime;
sql.parambyname('dni').asstring:= dniedit.text;
sql.parambyname('id').asinteger:= r;
execsql;

Caral 14-01-2011 00:51:10

Hola
El datetimepicker se llama fechanacimientodatetimepicker ?
Saludos

verito_83mdq 14-01-2011 01:07:02

Casimiro Notevi gracias! Lo estoy probando me tiro error porque el parambyname va sin el sql.parambyname, lo estoy probando ahora me tiro un error con el id pero estoy viendo. Ni bien termine de probarlo te digo como me fue. Caral jajaa si se llama asi es un poco largo lo decías por eso?
Gracias muchachos! La verdad que son muy buenos!

Caral 14-01-2011 02:45:20

Hola
Pues si, me parecio algo largo. :D
Yo suelo hacerlo al contrario, asi: FDTP1. :)
Saludos

verito_83mdq 14-01-2011 12:56:39

Bueno aca esta el codigo Sql de Casimiro Notevi para guardar datos y la fecha del datetimepicker esta testeado jaja.

Código SQL [-]
with QueryDataModule.ConyugeZQuery do
     begin
        If active then close;
        ConyugeZQuery.SQL.Clear;
        ConyugeZQuery.SQL.Add('Update conyuge set apellido= :apel, nombre= :nom, dni= :dn ,fecha_nacimiento= :fechanacimie where conyuge.ID_Conyuge= :i');
        ConyugeZQuery.ParamByName('apel').asstring:= ApellidoEdit.Text;
        ConyugeZQuery.ParamByName('nom').asstring:= NombreEdit.text;
        ConyugeZQuery.ParamByName('dn').asstring:= dniedit.text;
        ConyugeZQuery.ParamByName('fechanacimie').Value:= fechanacimientodatetimepicker.datetime;
        ConyugeZQuery.ParamByName('i').asinteger:= strtoint(r);
        ConyugeZQuery.ExecSQL;
     end;
end;


Saludos!!! Gracias Casimiro y Caral!

Casimiro Notevi 14-01-2011 14:15:20

En lugar de esto:
Código Delphi [-]
ConyugeZQuery.SQL.Clear;
ConyugeZQuery.SQL.Add('Update conyuge set apellido= :apel, nombre= :nom, dni= :dn ,fecha_nacimiento= :fechanacimie where conyuge.ID_Conyuge= :i');

Puedes poner lo que he escrito antes:
Código Delphi [-]
ConyugeZQuery.SQL.Text := 'Update conyuge set apellido= :apel, nombre= :nom, dni= :dn ,fecha_nacimiento= :fechanacimie where conyuge.ID_Conyuge= :i';


La franja horaria es GMT +2. Ahora son las 23:13:52.

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