Fórum ´Error creating cursor handle´ ENoResultSet - o que eh? #152153

04/04/2003

0

---------------------------
Debugger Exception Notification
---------------------------
Project ProjectArrumaBD.exe raised exception class ENoResultSet with message ´Error creating cursor handle´. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
o que significa esta mensagem?

Ela aparece quando tento modificar os dados de um campo em todos os registros da tabela...
estou fazendo assim:

function LimpaNUmero( MinhaString: string ): string;
var i: integer;
begin
Result := ´´;
for i := 1 to Length(MinhaString)
do if MinhaString[i] in [´0´..´9´] then Result := Result + MinhaString[i];
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
With query1 do
begin
close;
SQL.Clear;
SQL.Text:=´Select * From NFiscal´;
open;
First;
end;
With query2 do
begin
While Not Query1.Eof do
begin
close;
SQL.Clear;
if query1.FieldByName(´CGC_CLI´).AsString<>´´ then
begin
SQL.Text:=´UPDATE NFISCAL SET CGC_CLI = ´+#39+LimpaNumero(query1.FieldByName(´CGC_CLI´).AsString)+39+´ Where Numero =´+39+Query1.FieldByName(´Numero´).AsString+39;
open;
end;
query1.Next;
end;
end;
end;

O que está acontecendo?

[]´s
Tiago Farinon


Tiago Farinon

Tiago Farinon

Responder

Posts

04/04/2003

Anonymous

Bom, vc tem que desmarcar a opção lá no delphi ´Stop on Delphi Exceptions´ para não para toda a vez que um exceção for disparada. E sobre o ´cursor handle´ vc deve estar ciente que algumas instruções sql não retornam nenhum registro (portanto não um cursor) como por ex o UPDATE. Por isso você deve usar Query1.ExecSQL em vez de Query1.Open. Falou?!


Responder

Gostei + 0

05/04/2003

Tiago Farinon

Poxa!!! E não é que era isto mesmo!!!

e sabe o que eh pior... eh que (embora não estivesse conciente, hehehe) eu já usava o ExecSQL para fazer update... Soh não estava usando de patetão mesmo, e tb pq não sabia bem a diferença...

Valeu a Força véi!!!

Aquele Abraço!!!

Tiago



[quote:acc12ea2c2=´Tiago Tecchio´]Bom, vc tem que desmarcar a opção lá no delphi ´Stop on Delphi Exceptions´ para não para toda a vez que um exceção for disparada. E sobre o ´cursor handle´ vc deve estar ciente que algumas instruções sql não retornam nenhum registro (portanto não um cursor) como por ex o UPDATE. Por isso você deve usar Query1.ExecSQL em vez de Query1.Open. Falou?![/quote:acc12ea2c2]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar