cesar_gta86
07-08-2008, 02:33:39
Hola amigos, ahora tebgo otro problemita, jeje. Lo que pasa es que por 'x' motivos elimino registros de una tabla, utilizando ciclos, de este modo:
Código Delphi [-] (http://www.clubdelphi.com/foros/#)
table1.first;
while table1.eof<>true do
begin
if table1.fieldbyname('No_ctrl').asstring=edit1.text then
table1.delete;
table1.next;
end;
//esto es para cuando el último registro de la tabla es uno de los quiero elimar
if table1.last=true then
begin
if table1.fieldbyname('No_ctrl').asstring=edit1.text then
table1.delete;
end;
table1.refresh;
Pero la verdad, no sé porqué, en ocasiones no elimina todos los registros que quiero eliminar, sino que se brinca uno o dos.
Para evitar la utilización de ciclos pensé en utilizar una query y con ella eliminar éstos registros pero al momento que se activa la query manda el mensaje de error:
Código Delphi [-] (http://www.clubdelphi.com/foros/#)
Project Project1.exe raised exception class EnoresultSet whit message 'Error creating cursor handle'. Process stoped. Use step or run to continue.
En la query le pongo el siguiente código:
Código Delphi [-] (http://www.clubdelphi.com/foros/#)
cad:='delete from prestamos where No_ctrl=' + char(34) + edit1.text + char(34); //cadena
query1.close;
query1.sql.clear;
quey1.sql.text:=cad;
query1.execsql;
query1.active:=true; //manda el mensaje de error
Las tabla de préstamos está desactivada, creí que ese era el problema, pero no es así, espero que me puedan ayudar, desde ya, grácias por sus respuestas.
Código Delphi [-] (http://www.clubdelphi.com/foros/#)
table1.first;
while table1.eof<>true do
begin
if table1.fieldbyname('No_ctrl').asstring=edit1.text then
table1.delete;
table1.next;
end;
//esto es para cuando el último registro de la tabla es uno de los quiero elimar
if table1.last=true then
begin
if table1.fieldbyname('No_ctrl').asstring=edit1.text then
table1.delete;
end;
table1.refresh;
Pero la verdad, no sé porqué, en ocasiones no elimina todos los registros que quiero eliminar, sino que se brinca uno o dos.
Para evitar la utilización de ciclos pensé en utilizar una query y con ella eliminar éstos registros pero al momento que se activa la query manda el mensaje de error:
Código Delphi [-] (http://www.clubdelphi.com/foros/#)
Project Project1.exe raised exception class EnoresultSet whit message 'Error creating cursor handle'. Process stoped. Use step or run to continue.
En la query le pongo el siguiente código:
Código Delphi [-] (http://www.clubdelphi.com/foros/#)
cad:='delete from prestamos where No_ctrl=' + char(34) + edit1.text + char(34); //cadena
query1.close;
query1.sql.clear;
quey1.sql.text:=cad;
query1.execsql;
query1.active:=true; //manda el mensaje de error
Las tabla de préstamos está desactivada, creí que ese era el problema, pero no es así, espero que me puedan ayudar, desde ya, grácias por sus respuestas.