ProgCOD deve ser a chave primária da tabela, não?
Por isso, vc não pode criar duas linhas com o mesmo valor na chave primária.
Se o campo for "autoinc", então, vc não precisa dar um valor pra ele
na hora de incluir.

Em 06/12/07, william.designer <[EMAIL PROTECTED]> escreveu:
>
>
> tenho os seguintes componentes em um Data module, um SQLConection,
>  um SQLDataSet{SQLcadLista}, um DataSetProvider{DSPcadLista} e um
>  ClientDataset{CDScadLista}
>
>  Criei um formulario a partir dos campos do meu ClienteDataset...
>  e Criei um botão para Salvar e coloque o seguinte código no Onclick
>  do botão..
>
>  if DNNConexao.CDScadListaProgCOD.IsNull then
>    begin
>    DNNConexao.CDScadListaProgCOD.Value  := 0;
>    DNNConexao.CDScadListaProg.ApplyUpdates(-1);
>    DNNConexao.CDScadListaProg.Open;
>    DNNConexao.CDScadListaProg.Close;
>    end
>    else
>    DNNConexao.CDScadListaProg.ApplyUpdates(-1);
>    Fechar:=true;
>    Close;
>
>  O primeiro registro ele salva normal...mas quando tenho cadastrar um
>  novo registro ele dá a seguinte mensagem...
>
>  Project NomeProjeto.exe raised exception class EDBClient with
>  message 'KeyViolation.'. Process stop. Use step or run to continue.
>



-- 
Timeo hominem unius libri
Cogito ergo sum - Carpe diem

[]s
Guionardo Furlan
http://guionardo.blogspot.com

Responder a