On Post Error. Banco Fb 1.5
13/09/2004
0
Prezados Amigos,
Estou fazendo um projeto no Delphi6 com Banco de Dados Firebird 1.5, criei um tabela com os seguintes campos:
Gostaria da colaboração dos Colegas para a solução simples que estou com dificuldades, como corrigir este problema?
Estou fazendo um projeto no Delphi6 com Banco de Dados Firebird 1.5, criei um tabela com os seguintes campos:
CREATE TABLE USUARIOS ( CODIGO INTEGER NOT NULL, NOME VARCHAR(30), FUNCAO VARCHAR(30), SUPERVISOR CHAR(1), SENHA VARCHAR(8), PRIMARY KEY (CODIGO) ); Coloquei no evento OnPostError do Componente ClientDataSet do DataModule: procedure TDMTiTan.CDSUsuariosPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin If UpperCase (Copy(e.Message,1,13))=´KEY VIOLATION´ then begin Action:= DaAbort; Showmessage(´Já existe Usuário com este código - Favor corrigir!´); end; end; Isso para que não o erro erro de Key Violation, mas o problema persiste pois, quando eu tento gravar em execução em tempo de projeto e me envia outra mensagem: Project TiTan.exe raised exception class EDatabaseError with message ´violation of PRIMARY or UNIQUE KEY constraint "INTEG_12" on table "USUARIOS" ´.Process stopped. Use Step or Run to continue. No evento do botao gravar: procedure TFormUsuarios.btnGravaClick(Sender: TObject); begin If DMTiTan.CDSUsuarios.FieldByName(´senha´).AsString = edit1.Text then begin BtnIncluir.Enabled:=true; BtnAlterar.Enabled:=true; BtnCancelar.Enabled:=false; btnGrava.Enabled:=false; BtnExcluir.Enabled:=true; BtnConsUsuarios.Enabled:=true; DBNavigator1.Enabled:=true; BtnSair.Enabled:=true; DMTiTan.CDSUsuarios.ApplyUpdates(-1); end Else begin ShowMessage(´Senha não confere com confirmação da Senha - Redigite-os!´); DBEdit5.SetFocus; end; end;
Gostaria da colaboração dos Colegas para a solução simples que estou com dificuldades, como corrigir este problema?
Lafitti
Curtir tópico
+ 0
Responder
Posts
14/09/2004
Nelson_prog
Faça a validação no evento OnReconcileError do ClienteDataset:
procedure TForm1.ClientDataSet1ReconcileError(DataSet: TClientDataSet;
E: EReconcileError; UpdateKind: TUpdateKind;
var Action: TReconcileAction);
begin
Action := HandleReconcileError(DataSet, UpdateKind, E);
end;
procedure TForm1.ClientDataSet1ReconcileError(DataSet: TClientDataSet;
E: EReconcileError; UpdateKind: TUpdateKind;
var Action: TReconcileAction);
begin
Action := HandleReconcileError(DataSet, UpdateKind, E);
end;
Responder
Clique aqui para fazer login e interagir na Comunidade :)