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