Erro key violation...paradox

Delphi

07/05/2003

Saudações,
estou fazendo um programinha que informa os dados de uma máquina e tem um form em que a gente inclui, altera e exclui itens de hardware e software da tabela, só que está acusando o erro key violation pois ao invés de fazer a modificação na linha do nome do usuário(chave primária) ele está acrescentado uma nova linha acima do nome. Eu pus o seguinte código:
if cbsetor.items.text = ´Placa-Mãe´ then
tbhard.open;
tbhard.last;
tbhard.insert;
tbhardPl_mae.AsString := edinclui.text;
tbhard.post;
tbhard.refresh;
showmessage(´Inclusão do item ´ + edinclui.text + ´ efetuada com sucesso!´);
edinclui.text := ´´;
Este código é para inclusão, se alguém puder me dar uma dica e me ajudar com a alteração e exclusão eu ficaria muito agradecido.


Elias Jr

Elias Jr

Curtidas 0

Respostas

Fred

Fred

07/05/2003

se entendi bem voce esta colocando o nome do usuario como chave primaria é por isso que esta dando erro pois voce tera varios registros com o mesmo usuario e a chave primaria deve ser unica em uma tabela nao pode haver dois registros com a mesma chave primaria em uma mesma tabela. mude a chave para cod_nometabela e deixe o campo como autoincrement e nao tera mais este problema 8)


GOSTEI 0
Elias Jr

Elias Jr

07/05/2003

se entendi bem voce esta colocando o nome do usuario como chave primaria é por isso que esta dando erro pois voce tera varios registros com o mesmo usuario e a chave primaria deve ser unica em uma tabela nao pode haver dois registros com a mesma chave primaria em uma mesma tabela. mude a chave para cod_nometabela e deixe o campo como autoincrement e nao tera mais este problema 8)


Saudações Fred,
eu entendi o que vc quis dizer mas deve haver um jeito dele fazer a inclusão seguindo pelo nome do usuário, justamente pq existem muitos campos nesta tabela referentes ao hardware e ao software e por isso mesmo acredito que ele faria tudo na mesma linha, eu acho apenas que errei no código, deve haver alguma maneira de setar o nome do usuário e ele fazer as alterações na mesma linha. Vou tentar fazer algo utilizando sql...se vc puder me ajudar te agradeceria muito...


GOSTEI 0
POSTAR