jooooseph
27-09-2012, 17:18:44
BUEN DIA. TENGO UNA PEQUEÑA DIFUCULTAD PARA GUARDAR UNA FECHA. PARA ESTO CUANDO QUIERO QUE SE GUARDE LA FECHA PONGO LA CONDICION DE QUE ESTE CASADO Y SE MARQUE LA OPCION DE QUE SE SABE LA FECHA( CHECKBOX ) EL CODIGO ES EL SIGUIENTE.
PROCEDURE TFORM3.INGRESAR (NOM1,APEL,SEX,ESTA,MAIL,LIDE,DIREC,DIST,BAUT,MIEM: string; FECHA1,FECHA2: TDate; ACTI:BOOLEAN);
VAR CODIGO:INTEGER;
begin
CODIGO:=OBTENER_ULTIMO_CODIGO+1;
IF (ESTA = 'CASADO(A)') AND (ACTI=TRUE)
THEN BEGIN
SQLQUERY1.Close;
SQLQUERY1.SQL.Text:= 'Insert Into MIEMBROS(CODIGO_MIEMBRO,NOMBRE_COMPLETO,NOMBRE,APELLIDOS,FECHA_NACIMIENTO,SEXO,ESTADO_CIVIL,FECHA_BO DA,CORREO,LIDER,DIRECCION,DISTRITO,BAUTIZADO,
TIPO_MIEMBRO) Values(:COD,:FULLNAME,:NOM,:APELL,:FECHA_N,:SEX,:ESTADO_CIV,:FECHA_B,:EMAIL,:LIDER1,:DIREC,:DISTR,:B AUTI,:TIPO1)';
SQLQUERY1.ParamByName('COD').AsInteger:=CODIGO;
SQLQUERY1.ParamByName('FULLNAME').ASSTRING:=NOM1+', '+APEL;
SQLQUERY1.ParamByName('NOM').ASSTRING:=NOM1;
SQLQUERY1.ParamByName('APELL').ASSTRING:=APEL;
SQLQUERY1.ParamByName('FECHA_N').AsDate:=FECHA1;
SQLQUERY1.ParamByName('SEX').ASSTRING:=SEX;
SQLQUERY1.ParamByName('ESTADO_CIV').ASSTRING:=ESTA;
SQLQUERY1.ParamByName('FECHA_B').AsDate:=FECHA2;
SQLQUERY1.ParamByName('EMAIL').ASSTRING:=MAIL;
SQLQUERY1.ParamByName('LIDER1').ASSTRING:=LIDE;
SQLQUERY1.ParamByName('DIREC').ASSTRING:=DIREC;
SQLQUERY1.ParamByName('DISTR').ASSTRING:=DIST;
SQLQUERY1.ParamByName('BAUTI').ASSTRING:=BAUT;
SQLQUERY1.ParamByName('TIPO1').ASSTRING:=MIEM;
SQLQUERY1.ExecSQL;
END ELSE
BEGIN
SQLQUERY1.Close;
SQLQUERY1.SQL.Text:= 'Insert Into MIEMBROS(CODIGO_MIEMBRO,NOMBRE_COMPLETO,NOMBRE,APELLIDOS,FECHA_NACIMIENTO,SEXO,ESTADO_CIVIL,CORREO,L IDER,DIRECCION,DISTRITO,BAUTIZADO,TIPO_MIEMBRO)
Values(:COD,:FULLNAME,:NOM,:APELL,:FECHA_N,:SEX,:ESTADO_CIV,:EMAIL,:LIDER1,:DIREC,:DISTR,:BAUTI,:TIP O1)';
SQLQUERY1.ParamByName('COD').AsInteger:=CODIGO;
SQLQUERY1.ParamByName('FULLNAME').ASSTRING:=NOM1+', '+APEL;
SQLQUERY1.ParamByName('NOM').ASSTRING:=NOM1;
SQLQUERY1.ParamByName('APELL').ASSTRING:=APEL;
SQLQUERY1.ParamByName('FECHA_N').AsDate:=FECHA1;
SQLQUERY1.ParamByName('SEX').ASSTRING:=SEX;
SQLQUERY1.ParamByName('ESTADO_CIV').ASSTRING:=ESTA;
SQLQUERY1.ParamByName('EMAIL').ASSTRING:=MAIL;
SQLQUERY1.ParamByName('LIDER1').ASSTRING:=LIDE;
SQLQUERY1.ParamByName('DIREC').ASSTRING:=DIREC;
SQLQUERY1.ParamByName('DISTR').ASSTRING:=DIST;
SQLQUERY1.ParamByName('BAUTI').ASSTRING:=BAUT;
SQLQUERY1.ParamByName('TIPO1').ASSTRING:=MIEM;
SQLQUERY1.ExecSQL;
END;
end;
y de otro form llamo al procedimiento
procedure TForm4.BitBtn1Click(Sender: TObject);
VAR FECHA1, FECHA2:TDATE; ACTI:BOOLEAN;
begin
try
FECHA1:=DATETIMEPICKER1.Date;
FECHA2:=DATETIMEPICKER2.Date;
ACTI:=CHECKBOX1.Checked;
FORM3.INGRESAR (EDIT2.Text,EDIT3.Text,COMBOBOX1.Text,COMBOBOX2.Text,EDIT4.Text,EDIT5.Text,EDIT6.Text,EDIT7.Text,COM BOBOX3.Text,COMBOBOX4.Text,FECHA1,FECHA2,ACTI);
LIMPIAR_CAMPOS;
SHOWMESSAGE('INFORMACION INGRESADA');
except
on E : Exception DO
SHOWMESSAGE ('ERROR AL INGRESAR LA INFORMACION');
end;
end;
para esto tengo 2 datetimepicker el primero que es el de la fecha_nacimiento y el segundo que es de la fehca_matrimonio.
PROCEDURE TFORM3.INGRESAR (NOM1,APEL,SEX,ESTA,MAIL,LIDE,DIREC,DIST,BAUT,MIEM: string; FECHA1,FECHA2: TDate; ACTI:BOOLEAN);
VAR CODIGO:INTEGER;
begin
CODIGO:=OBTENER_ULTIMO_CODIGO+1;
IF (ESTA = 'CASADO(A)') AND (ACTI=TRUE)
THEN BEGIN
SQLQUERY1.Close;
SQLQUERY1.SQL.Text:= 'Insert Into MIEMBROS(CODIGO_MIEMBRO,NOMBRE_COMPLETO,NOMBRE,APELLIDOS,FECHA_NACIMIENTO,SEXO,ESTADO_CIVIL,FECHA_BO DA,CORREO,LIDER,DIRECCION,DISTRITO,BAUTIZADO,
TIPO_MIEMBRO) Values(:COD,:FULLNAME,:NOM,:APELL,:FECHA_N,:SEX,:ESTADO_CIV,:FECHA_B,:EMAIL,:LIDER1,:DIREC,:DISTR,:B AUTI,:TIPO1)';
SQLQUERY1.ParamByName('COD').AsInteger:=CODIGO;
SQLQUERY1.ParamByName('FULLNAME').ASSTRING:=NOM1+', '+APEL;
SQLQUERY1.ParamByName('NOM').ASSTRING:=NOM1;
SQLQUERY1.ParamByName('APELL').ASSTRING:=APEL;
SQLQUERY1.ParamByName('FECHA_N').AsDate:=FECHA1;
SQLQUERY1.ParamByName('SEX').ASSTRING:=SEX;
SQLQUERY1.ParamByName('ESTADO_CIV').ASSTRING:=ESTA;
SQLQUERY1.ParamByName('FECHA_B').AsDate:=FECHA2;
SQLQUERY1.ParamByName('EMAIL').ASSTRING:=MAIL;
SQLQUERY1.ParamByName('LIDER1').ASSTRING:=LIDE;
SQLQUERY1.ParamByName('DIREC').ASSTRING:=DIREC;
SQLQUERY1.ParamByName('DISTR').ASSTRING:=DIST;
SQLQUERY1.ParamByName('BAUTI').ASSTRING:=BAUT;
SQLQUERY1.ParamByName('TIPO1').ASSTRING:=MIEM;
SQLQUERY1.ExecSQL;
END ELSE
BEGIN
SQLQUERY1.Close;
SQLQUERY1.SQL.Text:= 'Insert Into MIEMBROS(CODIGO_MIEMBRO,NOMBRE_COMPLETO,NOMBRE,APELLIDOS,FECHA_NACIMIENTO,SEXO,ESTADO_CIVIL,CORREO,L IDER,DIRECCION,DISTRITO,BAUTIZADO,TIPO_MIEMBRO)
Values(:COD,:FULLNAME,:NOM,:APELL,:FECHA_N,:SEX,:ESTADO_CIV,:EMAIL,:LIDER1,:DIREC,:DISTR,:BAUTI,:TIP O1)';
SQLQUERY1.ParamByName('COD').AsInteger:=CODIGO;
SQLQUERY1.ParamByName('FULLNAME').ASSTRING:=NOM1+', '+APEL;
SQLQUERY1.ParamByName('NOM').ASSTRING:=NOM1;
SQLQUERY1.ParamByName('APELL').ASSTRING:=APEL;
SQLQUERY1.ParamByName('FECHA_N').AsDate:=FECHA1;
SQLQUERY1.ParamByName('SEX').ASSTRING:=SEX;
SQLQUERY1.ParamByName('ESTADO_CIV').ASSTRING:=ESTA;
SQLQUERY1.ParamByName('EMAIL').ASSTRING:=MAIL;
SQLQUERY1.ParamByName('LIDER1').ASSTRING:=LIDE;
SQLQUERY1.ParamByName('DIREC').ASSTRING:=DIREC;
SQLQUERY1.ParamByName('DISTR').ASSTRING:=DIST;
SQLQUERY1.ParamByName('BAUTI').ASSTRING:=BAUT;
SQLQUERY1.ParamByName('TIPO1').ASSTRING:=MIEM;
SQLQUERY1.ExecSQL;
END;
end;
y de otro form llamo al procedimiento
procedure TForm4.BitBtn1Click(Sender: TObject);
VAR FECHA1, FECHA2:TDATE; ACTI:BOOLEAN;
begin
try
FECHA1:=DATETIMEPICKER1.Date;
FECHA2:=DATETIMEPICKER2.Date;
ACTI:=CHECKBOX1.Checked;
FORM3.INGRESAR (EDIT2.Text,EDIT3.Text,COMBOBOX1.Text,COMBOBOX2.Text,EDIT4.Text,EDIT5.Text,EDIT6.Text,EDIT7.Text,COM BOBOX3.Text,COMBOBOX4.Text,FECHA1,FECHA2,ACTI);
LIMPIAR_CAMPOS;
SHOWMESSAGE('INFORMACION INGRESADA');
except
on E : Exception DO
SHOWMESSAGE ('ERROR AL INGRESAR LA INFORMACION');
end;
end;
para esto tengo 2 datetimepicker el primero que es el de la fecha_nacimiento y el segundo que es de la fehca_matrimonio.