[Lazarus-es] Como borrar recordset usando TSQLQuery

JoshyFun joshyfun en gmail.com
Mie Dic 2 13:13:15 CET 2009


Hello Ismael,

Tuesday, December 1, 2009, 11:08:29 PM, you wrote:

ILDGa> Al final el programa original quedó: (ya que he tomado la opción de un
ILDGa> programa de prueba donde pruebo antes de consultar dado la cantidad de dudas
ILDGa> y problemas que voy presentando)

ILDGa>       while not dtm.sqldto.EOF do
ILDGa>         begin
ILDGa>           if not dtm.sqlcla.Locate('entidad', 
ILDGa> dtm.sqldto.FieldValues['entidad'], []) then
ILDGa>             begin
ILDGa>               sqlstr := 'delete from mpdatge where mpdatge.entidad=''' +
ILDGa> dtm.sqldto.FieldValues['entidad'] + '')';

Usa params, mo esto que a la larga trae problemas en un 99% de los
casos.

sqlstr := 'delete from mpdatge where mpdatge.entidad=:ENTIDAD';

ILDGa>               dtm.rsup(strsql);  // Esto es un función que tengo
ILDGa> implementada para INSERT, UPDATE y DELETE
ILDGa>             end;
ILDGa>           dtm.sqldto.Next;
ILDGa>         end;
ILDGa>       strsql := 'select * from mpdatge';
ILDGa>       dtm.rsdto(strsql, true, true); // Esto es un función implementada para
ILDGa> SELECT o CLOSE QUERY

Esto no parece muy "SQL-Aware", vamos que parece que esa operación se
puede realizar toda con sólo una sentencia SQL y que todo lo haga el
servidor.

-- 
Best regards,
 JoshyFun





More information about the Lazarus-es mailing list