Key Violation

Delphi

01/03/2004

cursor:=crhourglass;
a:=listbox1.Items.Count;
e:=0;
while e <= a do
begin
Query1.SQL.Clear;
query1.SQL.Add(´update vennota set equipamento=´+quotedstr(edit2.text));
query1.sql.add(´where nota=´+(LISTBOX1.Items.ValueFromIndex[e]));
query1.execsql;
label3.Caption:=´Atualizando nota ´+(LISTBOX1.Items.ValueFromIndex[e]);
e:=e+1;
end;
cursor:=crdefault;

E aí galera, o que está acontecendo?Dá sempre um alerta de erro dizendo Key Violation.O que posso fazer para contornar esta situação?


Vagner Monteiro

Vagner Monteiro

Curtidas 0

Respostas

Eduprp

Eduprp

01/03/2004

Colega

Provavelmente vc esta estourando o número de itens do listbox.
Tente o seguinte

while e <= a - 1 do
....
....

Eduardo M. Pereira


GOSTEI 0
Buosinet

Buosinet

01/03/2004

Key violation é duplicidade de chave do banco. Essa coluna ´equipamento´ não é chave única?

No aguardo

Buosi.


GOSTEI 0
Mariely Fernandes

Mariely Fernandes

01/03/2004

Este erro ocorre quando há duplicidade de chaves... como ex.: ValueFromIndex[e])); o comando que você inseriu. Se sua tabela é paradox, verifique no database desktop os indices que você criou...
pelo que estou vendo o nome do seu indice eh ´e´.
Verifique!


GOSTEI 0
POSTAR