Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 04-09-2018
usuario1000 usuario1000 is offline
Miembro
 
Registrado: nov 2016
Posts: 90
Poder: 10
usuario1000 Va por buen camino
Buenas a todos.


Tengo puesto como dices Soa Pelaez así exactamente en el TClientDataSet " la propiedad FetchOnDemand en true y la propiedad PacketRecords en -1."


Por parte del cliente tengo los siguientes componentes para realizar esta consulta: TDataSetClient y TDataSetProvider y ejecuto la siguiente instrucción:


// cargamos datos de COSTES que cumplen los criterios
Código Delphi [-]
   dspCostes.DataSet := funcion.FiltrarCostesResumen(Aux_fecha, Aux_expediente1, Aux_expediente2, Aux_ano1, Aux_ano2,
                                              Aux_empresa1, Aux_empresa2, Aux_obra1, Aux_obra2, Aux_linea1, Aux_linea2);


   cdsCostes.Data := dspCostes.Data;
   cdsCostes.RecordCount;  // aquí me da una cifra que debe corresponder con el número de registros que recibe: 579.


    // siguen más lineas...




En la parte del servidor que es donde se ejecuta la función FiltrarCostesResumen tengo un TFDQuery para ejecutar la consulta y un TDataSetProvider asociado a este TFDQuery:

Código Delphi [-]
function TServerMethods1.FiltrarCostesResumen(fecha, expediente1, expediente2,
  ano1, ano2, empresa1, empresa2, obra1, obra2, linea1, linea2: string): TdataSet;
const
{  linea =  'Select n_expediente, n_ano_exp, tipo_documento, empresa, linea, obra, base, codigo_Cta, subcodigo_cta, '+
           'coste, n_proveedor, n_documento, n_ano_doc, fecha_sie from COSTES '+
           'where n_expediente >= :expediente1 and n_expediente <= :expediente2 ' +
           'and n_ano_exp >= :ano1 and n_ano_exp <= :ano2 ' +
           'and empresa >= :empresa1 and empresa <= :empresa2 ' +
           'and obra >= obra1 and obra <= obra2 ' +
           'and linea >= :linea1 and linea <= :linea2 ' +
           'and coste = :si ' +
           'and fecha_sie <= :fecha ORDER BY FECHA_SIE';   }

  linea = 'select * from costes';  // he puesto esta línea para que haga una consulta sencilla y sin posbiles errores en el filtrado.

begin


  qAuxiliar.Close;
  qAuxiliar.SQL.Clear;
  qAuxiliar.SQL.Add(linea);
{  qAuxiliar.ParamByName('fecha').AsDate := strToDate(fecha);
  qAuxiliar.ParamByName('expediente1').AsInteger := strToInt(expediente1);
  qAuxiliar.ParamByName('expediente2').AsInteger := strToInt(expediente2);
  qAuxiliar.ParamByName('ano1').AsInteger := strToInt(ano1);
  qAuxiliar.ParamByName('ano2').AsInteger := strToInt(ano2);
  qAuxiliar.ParamByName('empresa1').AsInteger := strToInt(empresa1);
  qAuxiliar.ParamByName('empresa2').AsInteger := strToInt(empresa2);
  qAuxiliar.ParamByName('obra1').AsInteger := strToInt(obra1);
  qAuxiliar.ParamByName('obra2').AsInteger := strToInt(obra2);
  qAuxiliar.ParamByName('linea1').AsInteger := strToInt(linea1);
  qAuxiliar.ParamByName('linea2').AsInteger := strToInt(linea2);
  qAuxiliar.ParamByName('si').AsString := 'S';    }

  try
    qAuxiliar.OPEN;
    qAuxiliar.RecordCount; // esta línea la he puesto para comprobar los registros que envía, y siempre marca 50. Es una cifra que he visto que aparece en el RowSetSize y que
                                                           //  he cambiado a 1000 pero no hace nada.
    result := qAuxiliar;
  Except
     // nada
  end;

end;





Ahora mismo ando un poco perdido y no sé como arreglarlo, a ver si alguien me puede decir como hacerlo, el problema es que estoy trabajando con datos reales y necesito que esto funcione para sacar listados.


Gracias a todos.

Última edición por Casimiro Noteví fecha: 04-09-2018 a las 18:07:19.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problemas con la lectura coockold C++ Builder 5 18-10-2010 01:16:10
Numero total de registros DB vroa74 Conexión con bases de datos 2 07-03-2007 18:32:38
¿Record counta el total de registros devueltos? rafita SQL 2 15-09-2006 12:41:52
Borrado total de Registros en tablas DBF Roilo Tablas planas 5 17-07-2006 17:01:17
DBGrid saber total de registros de lo que se ve liz_hilton OOP 3 10-06-2005 16:21:18


La franja horaria es GMT +2. Ahora son las 15:25:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi