Array
(
)

A tabela não encontra o fim e não atualiza

Dpinho
   - 06 abr 2006

Me ajude neste loop, pelo visto esta tudo certo, mas não consigo chegar ao fim do arquvo e fazer o apply

procedure TForm1.BitBtn1Click(Sender: TObject);
var
nome, vCod : string;
cont : integer;
begin
nome := ´´;
cont := 0;
sds1.IndexFieldNames := ´Descricao´;
SDS2.IndexFieldNames := ´produto´;
SDS2.First;
TD.TransactionID := 1;
TD.IsolationLevel := XILReadCommitted;
sqlco.StartTransaction(TD) ;
while not sds2.Eof do
begin
nome := sds2.fieldByName(´produto´).AsString;
if Nome <> ´´ then
begin
sds1.Locate(´descricao´,nome,[loCaseInsensitive, loPartialKey]);
IF SDS1.FieldByName(´DESCRICAO´).AsString = nome then
begin
vCod := sds1.fieldByname(´Codigo´).AsString;
sds2.Edit;
sds2.FieldByName(´produto´).AsString := vcod;
sds2.Post;
end;
end;
nome := ´´;
cont := cont+1;
label1.Caption := inttostr(cont);
sds2.Next;
end;
sds2.ApplyUpdates(0);
sqlco.Commit(TD);
end;


Cpd_arim
   - 07 abr 2006

procedure TForm1.BitBtn1Click(Sender: TObject);
var
nome, vCod : string;
cont : integer;
begin
nome := ´´;
cont := 0;
sds1.IndexFieldNames := ´Descricao´;
SDS2.IndexFieldNames := ´produto´;
SDS2.First;
TD.TransactionID := 1;
TD.IsolationLevel := XILReadCommitted;
sqlco.StartTransaction(TD) ;
while not sds2.Eof do//verifica se a tabela nao esta no final
begin
nome := sds2.fieldByName(´produto´).AsString;
if Nome <> ´´ then //nome <> de ´´
begin
sds1.Locate(´descricao´,nome,[loCaseInsensitive, loPartialKey]);
IF SDS1.FieldByName(´DESCRICAO´).AsString = nome then
begin
vCod := sds1.fieldByname(´Codigo´).AsString;
sds2.Edit;
sds2.FieldByName(´produto´).AsString := vcod;
sds2.Post;
end;
////se não me engano esta faltando um else ou se nome = ´´ sds2.next
Pense nisso