Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-11-2013
juank1971 juank1971 is offline
Miembro
 
Registrado: feb 2008
Posts: 230
Poder: 17
juank1971 Va por buen camino
limitar resultados en base de datos sqlite3

Hola amigos
Teno un problema , teno muchos registros en una consulta muy grande, la base de datos es de miles de registros sqlite3
la consulta que muestro mas adelante que me busca en el campo nombre de una tabla un texto o en el campo contenido de otra , eso lo tengo puesto en delphi xe4 con dbexpress, y con TclientDataset. Una buenisima mezcla a mi criterio. TsqlConnection-Tsqlquery-TdataSetProvider-TClientDataset-TDataSource.

Al TclientDataset le tengo puesto en la propiedad packedRecord 20 y funciona me muestra solo los 20 primeros luego cuando bajo un poco el scroll me muestra otros 20 registros, eso funciona bien, lo que se me demora un poco para hacer la consulta al principio, o sea la demora es en hacer la consulta y darme los primeros 20, luego de eso el delphi se encarga correctamente de mostrame como debe ser de 20 en 20 y funciona bien.

esta es la consulta que hago :
select * from nombres where ( nombre like '%Transistor PNP%' ) or ( id_fichero in (select id_fichero from ficheros where contenido like '%Transistor PNP%'));

Código Delphi [-]
 sql := ' select * from nombres ' + ' where ( nombre like ' + '''' + '%' +
        trim(eBuscar.Text) + '%' + '''' + ')' + ' or ( id_fichero in ' +
        ' ( select id_fichero ' + ' from ficheros ' + ' where contenido like ' +
        '''' + '%' + trim(eBuscar.Text) + '%' + '''' + ' ));';  

with DataModule1.cdsNombres do
    begin
      Close;
      CommandText := sql;
      try
        Open;
      except

      end;
    end;

Necesito una manera de hacer las consultas digamos con limit 100 o algo de eso, en sql y marcar de alguna manera ese ultimo registro y si el usuario no encuentra que que quiere en esos
primeros 100 mandar a ajecutrar la misma consulta pero sumando los siguientes 100, o sea quisiera algo parecido al packedrecord pero en sql, para poder obtener los primeros resolatados mas rápido.

Gracias y salud y pesetas para todos.

juank
Responder Con Cita
  #2  
Antiguo 01-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por juank1971 Ver Mensaje
...
Necesito una manera de hacer las consultas digamos con limit 100 o algo de eso, en sql y marcar de alguna manera ese ultimo registro y si el usuario no encuentra que que quiere en esos primeros 100 mandar a ajecutrar la misma consulta pero sumando los siguientes 100, o sea quisiera algo parecido al packedrecord pero en sql, para poder obtener los primeros resolatados mas rápido.
...
Hola juank1971.

No he usado SQL Lite, pero revisa si no te sirven las cláusulas LIMIT y OFFSET, enviando el valor correspondiente a OFFSET como parámetro.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 01-11-2013
juank1971 juank1971 is offline
Miembro
 
Registrado: feb 2008
Posts: 230
Poder: 17
juank1971 Va por buen camino
ok

correcto gracias creo que con eso resulevo.
Responder Con Cita
Respuesta



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
SQLite3 aplicaciones Delphi en misma base de datos? ElMug Conexión con bases de datos 24 06-02-2017 02:37:09
Limitar cantidad e registros a crear en una base de datos RedVenom Conexión con bases de datos 25 09-05-2011 21:30:55
acceso a datos sqlite3 lazarus anubis Lazarus, FreePascal, Kylix, etc. 2 10-12-2009 18:12:29
Limitar la carpeta donde crear la base de datos fcios Firebird e Interbase 0 01-11-2005 06:03:22
limitar resultados de consulta con rave galmacland Impresión 1 15-04-2005 16:54:25


La franja horaria es GMT +2. Ahora son las 09:22:35.


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