vc ta inserindo zero duas vezes como disse o colega abaixo assim da erro msm 
qualquer codigo repetido da erro

este codigo para o botao novo(ou inserir )
    Cdstabela.Close;
    Cdstabela.Params[0].AsInteger := (-1);
    Cdstabela.Open;
    Cdstabela.Append;

    Cdstabelacd_chave.asinteger := cd_novoquegereidealgumaforma ;

este para o botao gravar
   Cdstabela.Post;
   Cdstabela.ApplyUpdates(0);

obs esta minha tabela nao esta com campo auto incremento e eu coloquei um 
auxilio pra gerar codigo novo
e so pensar na tua forma de gerar o codigo novo que nao podera se repetir
espero ter ajudado


----- Original Message ----- 
From: "Vitor Redes" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Tuesday, December 11, 2007 2:48 PM
Subject: RES: [delphi-br] SOCORRO: Gravar dados no Banco de Dados


            Não sei como seu banco está configurado, mas se você gravar dois
registros com o valor 0, o banco com certeza vai retornar violação de chave
né...

            Dê mais informações, está utilizando trigger? Algum tipo de
função no banco?



            Vitor.





  _____

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de william.designer
Enviada em: terça-feira, 11 de dezembro de 2007 11:39
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] SOCORRO: Gravar dados no Banco de Dados



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.

Será que alguem pode me ajudar onde eu estou errando...





[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Links do Yahoo! Grupos




-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.503 / Virus Database: 269.17.1/1181 - Release Date: 11/12/2007 
17:05

Responder a