Hola amigos, no puedo insertar un nuevo registro
Código Delphi
[-]
procedure TMantenimiento_Docente.ToolButton2Click(Sender: TObject);
begin
inherited;
if (LabeledEdit2.text='') or (LabeledEdit3.text='')
or (LabeledEdit4.text='') or (LabeledEdit5.text='')
or (LabeledEdit6.text='') or (LabeledEdit7.text='')
or (LabeledEdit8.text='')or (LabeledEdit9.text='')
then
begin
showmessage('le falta completar los campos');
exit;
end;
ADOQuery1.Close;
ADOQuery1.sql.Clear;
ADOQuery1.SQL.Add('select *');
ADOQuery1.SQL.Add('from Docente');
ADOQuery1.open;
ADOQuery1.Append;
ADOQuery1.fieldbyname('ap').value:= LabeledEdit3.text;
ADOQuery1.fieldbyname('am').value:= LabeledEdit4.text;
ADOQuery1.fieldbyname('Dni').value:= LabeledEdit5.text;
ADOQuery1.fieldbyname('direccion').value:= LabeledEdit6.text;
ADOQuery1.fieldbyname('telefono').value:= LabeledEdit7.text;
ADOQuery1.fieldbyname('Especialidad').value:= LabeledEdit8.text;
ADOQuery1.fieldbyname('Area').value:= LabeledEdit9.text;
ADOQuery1.post;
ADOQuery1.close;
LabeledEdit2.text:='';
LabeledEdit3.text:='';
LabeledEdit4.text:='';
LabeledEdit5.text:='';
LabeledEdit6.text:='';
LabeledEdit7.text:='';
LabeledEdit8.text:='';
LabeledEdit9.text:='';
showmessage('sea agregado un nuevo docente ');
end;
la linea en la que se produce el error en " ADOQuery1.post; "pero cuando no activo el evento DataChange, se puede introdusir sin ningun problema, este es el procedimiento del data change
Código Delphi
[-]
procedure TMantenimiento_Docente.DataSource1DataChange(Sender:
TObject; Field: TField);
begin
inherited;
if NOT ADOQuery1.EOF then
Begin
le_id01.Text:=ADOQuery1.FieldByName('id_docente').Value;
LabeledEdit2.Text:=ADOQuery1.FieldByName('Nombres').Value;
LabeledEdit3.Text:=ADOQuery1.FieldByName('Ap').Value;
LabeledEdit4.Text := ADOQuery1.FieldByName('AM').Value;
LabeledEdit5.Text := ADOQuery1.FieldByName('DNI').Value;
LabeledEdit6.Text := ADOQuery1.FieldByName('Direccion').Value;
LabeledEdit7.Text := ADOQuery1.FieldByName('Telefono').Value;
LabeledEdit8.Text := ADOQuery1.FieldByName('Especialidad').Value;
LabeledEdit9.Text := ADOQuery1.FieldByName('Area').Value;
End
else
begin
le_id01.Clear;
LabeledEdit2.Clear;
LabeledEdit3.Clear;
LabeledEdit4.Clear;
LabeledEdit5.Clear;
LabeledEdit6.Clear;
LabeledEdit7.Clear;
LabeledEdit8.Clear;
ToolButton2.Enabled:=true;
SpeedButton8.Enabled:=false;
end;
end;
porfavor ayudenme ya me estan por estrangular aqui.