![]() |
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%'));
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 |
Cita:
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 :) |
ok
correcto gracias creo que con eso resulevo.
|
| La franja horaria es GMT +2. Ahora son las 09:06:30. |
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