Fórum Pesquisar se a duplicidade de dados antes de salvar #398679
04/04/2011
0
Rogerio Sena
Curtir tópico
+ 0Posts
04/04/2011
Agricola Ltda
Primeiro, vc nao vai poder fazer essa pesquisa no proprio dataset que esta utilizando pra gravar.Sugiro a seguinte rotina:
procedure BotaoGravarClienteClick(Sender: TObject);
function Valida: Boolean; begin With TSQLQuery.Create(nil) do begin SQLConnection := SeuSQLConection; SQL.Add('select null from clientes '+ ' where matricula = ' + string(Matriculasendogravada) ); Open; result := IsEmpty; Close; Free; end; end;
begin inherited; if valida then begin dataSetdoCliente.post; end else showMessage(Matricula ja existe);end;Gostei + 0
05/04/2011
Rogerio Sena
Gostei + 0
05/04/2011
Agricola Ltda
Gostei + 0
05/04/2011
Rogerio Sena
begin
inherited;
DBEDit2.SetFocus;
end; procedure TFrmFuncionario.btnSalvarClick(Sender: TObject);
begin
if RadioButton1.Checked = True then
begin
DBEdit4.Text:='ATACADÃO';
end;
Label6.Enabled := False;
DBEdit4.Enabled := False;
if DataSource1.State = dsInsert then
DMClient.cdsFuncionario.Params [0].Text:=
DMClient.cdsFuncionarioMATRICULA.Text;
inherited; btnAlterar.Enabled:=True; end; esse formulario é de erança de um form cadastro padrao,vou colocar como esta o botão novo e salvar do mesmo. procedure TFrmCadastro.btnNovoClick(Sender: TObject);
begin
DataSource1.DataSet.append;
end; procedure TFrmCadastro.btnSalvarClick(Sender: TObject);
var novo,alteracao:boolean;
begin
novo:=(DataSource1.State = dsInsert);
DataSource1.DataSet.Post;
if DataSource1.DataSet is TClientDataSet then
begin
if (TClientDataSet(DataSource1.DataSet).ApplyUpdates(0) =0)
and novo then
begin
DataSource1.DataSet.Refresh;
if DataSource1.DataSet.RecordCount > 1 then
DataSource1.DataSet.Last;
end;
end;
end;
Gostei + 0
06/04/2011
Rogerio Sena
begin
inherited;
DBEDit2.SetFocus;
end; procedure TFrmFuncionario.btnSalvarClick(Sender: TObject);
begin
if RadioButton1.Checked = True then
begin
DBEdit4.Text:='ATACADÃO';
end;
Label6.Enabled := False;
DBEdit4.Enabled := False;
if DataSource1.State = dsInsert then
DMClient.cdsFuncionario.Params [0].Text:=
DMClient.cdsFuncionarioMATRICULA.Text;
inherited; btnAlterar.Enabled:=True; end; esse formulario é de erança de um form cadastro padrao,vou colocar como esta o botão novo e salvar do mesmo. procedure TFrmCadastro.btnNovoClick(Sender: TObject);
begin
DataSource1.DataSet.append;
end; procedure TFrmCadastro.btnSalvarClick(Sender: TObject);
var novo,alteracao:boolean;
begin
novo:=(DataSource1.State = dsInsert);
DataSource1.DataSet.Post;
if DataSource1.DataSet is TClientDataSet then
begin
if (TClientDataSet(DataSource1.DataSet).ApplyUpdates(0) =0)
and novo then
begin
DataSource1.DataSet.Refresh;
if DataSource1.DataSet.RecordCount > 1 then
DataSource1.DataSet.Last;
end;
end;
end;
Gostei + 0
07/04/2011
Rogerio Sena
Gostei + 0
07/04/2011
Dirceu Morais
procedure TFrmFuncionario.btnSalvarClick(Sender: TObject);
begin
if RadioButton1.Checked = r True then
begin
DBEdit4.Text:='ATACADÃO';
end;
Label6.Enabled := False;
DBEdit4.Enabled := False;
if DataSource1.State = dsInsert then
Begin
if DMClient.cdsFuncionario.LOCATE('MATRICULA',DBEDIT.text,[]) Then
Begin
Application.MessageBox( ('Matricula já existe no banco de dados!!!'), 'Aviso do sistema', MB_OK + MB_ICONINFORMATION );
btnAlterar.Enabled:=False;
Exit;
end
DMClient.cdsFuncionario.Params [0].Text:=
DMClient.cdsFuncionarioMATRICULA.Text;
end;
inherited;
btnAlterar.Enabled:=True;
end;Ps: O DBEDIT.text é o valor do campo onde é digitado o valor da matricula.
Espero ter ajudado.
Dirceu Morais
Gostei + 0
07/04/2011
Rogerio Sena
procedure TFrmFuncionario.btnSalvarClick(Sender: TObject);
begin
if RadioButton1.Checked = r True then
begin
DBEdit4.Text:='ATACADÃO';
end;
Label6.Enabled := False;
DBEdit4.Enabled := False;
if DataSource1.State = dsInsert then
Begin
if DMClient.cdsFuncionario.LOCATE('MATRICULA',DBEDIT.text,[]) Then
Begin
Application.MessageBox( ('Matricula já existe no banco de dados!!!'), 'Aviso do sistema', MB_OK + MB_ICONINFORMATION );
btnAlterar.Enabled:=False;
Exit;
end
DMClient.cdsFuncionario.Params [0].Text:=
DMClient.cdsFuncionarioMATRICULA.Text;
end;
inherited;
btnAlterar.Enabled:=True;
end;Ps: O DBEDIT.text é o valor do campo onde é digitado o valor da matricula.
Espero ter ajudado.
Dirceu Morais
Gostei + 0
07/04/2011
Rogerio Sena
procedure TFrmFuncionario.btnSalvarClick(Sender: TObject);
begin
if RadioButton1.Checked = r True then
begin
DBEdit4.Text:='ATACADÃO';
end;
Label6.Enabled := False;
DBEdit4.Enabled := False;
if DataSource1.State = dsInsert then
Begin
if DMClient.cdsFuncionario.LOCATE('MATRICULA',DBEDIT.text,[]) Then
Begin
Application.MessageBox( ('Matricula já existe no banco de dados!!!'), 'Aviso do sistema', MB_OK + MB_ICONINFORMATION );
btnAlterar.Enabled:=False;
Exit;
end
DMClient.cdsFuncionario.Params [0].Text:=
DMClient.cdsFuncionarioMATRICULA.Text;
end;
inherited;
btnAlterar.Enabled:=True;
end;Ps: O DBEDIT.text é o valor do campo onde é digitado o valor da matricula.
Espero ter ajudado.
Dirceu Morais
Gostei + 0
07/04/2011
Rogerio Sena
procedure TFrmFuncionario.btnSalvarClick(Sender: TObject);
begin
if RadioButton1.Checked = r True then
begin
DBEdit4.Text:='ATACADÃO';
end;
Label6.Enabled := False;
DBEdit4.Enabled := False;
if DataSource1.State = dsInsert then
Begin
if DMClient.cdsFuncionario.LOCATE('MATRICULA',DBEDIT.text,[]) Then
Begin
Application.MessageBox( ('Matricula já existe no banco de dados!!!'), 'Aviso do sistema', MB_OK + MB_ICONINFORMATION );
btnAlterar.Enabled:=False;
Exit;
end
DMClient.cdsFuncionario.Params [0].Text:=
DMClient.cdsFuncionarioMATRICULA.Text;
end;
inherited;
btnAlterar.Enabled:=True;
end;Ps: O DBEDIT.text é o valor do campo onde é digitado o valor da matricula.
Espero ter ajudado.
Dirceu Morais
Gostei + 0
07/04/2011
Dirceu Morais
Ué se vc quiser me mandar.
Dirceu Morais
Gostei + 0
07/04/2011
Rogerio Sena
Ué se vc quiser me mandar.
Dirceu Morais
Gostei + 0
07/04/2011
Dirceu Morais
Gostei + 0
08/04/2011
Rogerio Sena
Gostei + 0
08/04/2011
Rogerio Sena
procedure TFrmFuncionario.btnSalvarClick(Sender: TObject);
begin
if RadioButton1.Checked = r True then
begin
DBEdit4.Text:='ATACADÃO';
end;
Label6.Enabled := False;
DBEdit4.Enabled := False;
if DataSource1.State = dsInsert then
Begin
if DMClient.cdsFuncionario.LOCATE('MATRICULA',DBEDIT.text,[]) Then
Begin
Application.MessageBox( ('Matricula já existe no banco de dados!!!'), 'Aviso do sistema', MB_OK + MB_ICONINFORMATION );
btnAlterar.Enabled:=False;
Exit;
end
DMClient.cdsFuncionario.Params [0].Text:=
DMClient.cdsFuncionarioMATRICULA.Text;
end;
inherited;
btnAlterar.Enabled:=True;
end;Ps: O DBEDIT.text é o valor do campo onde é digitado o valor da matricula.
Espero ter ajudado.
Dirceu Morais
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)