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 15-08-2005
cesar_picazo cesar_picazo is offline
Miembro
 
Registrado: ene 2004
Posts: 65
Poder: 21
cesar_picazo Va por buen camino
Ordenar Maestro detalle en DBExpress

Buenas tardes, Estoy utilizando DElphi 6 con componente DbExpress, mi duda es la siguiente tengo una conexion de datos y uso SQLClientDataSet para abrir tablas de Firebird, mi duda es que tengo que hacer para establecer que el detalle de la tabla sea ordenado por un campo de la misma ejemplo.

Tabla maestra campos documento, folio
Tabla detalle campos documento, folio, partida, monto

necesito que este ordenada por el campo partida y a su ves ya tengo un indice con el nombre mpdoc2_IDX que tiene como llave unica los campos, documento, folio, partida. O bien que tengo que hacer para que al abrir el detalle use el indice para ordenar los datos, por su atencion gracias.
Responder Con Cita
  #2  
Antiguo 16-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Saludos!

En teoría, tienes bien el índice para que el "Detalle" salga ordenado por el campo "partida" (supongo que el índice "mpdo2_IDX" está definido en la tabla "Detalle"), así que tienes dos posibilidades:

- Usar la propiedad "IndexName" del SQLClientDataSet para especificar dicho índice
- O usar la propiedad "IndexFieldNames" y especificar los campos que forman el índice: documento, folio y partida.

Chao!
Responder Con Cita
  #3  
Antiguo 16-08-2005
cesar_picazo cesar_picazo is offline
Miembro
 
Registrado: ene 2004
Posts: 65
Poder: 21
cesar_picazo Va por buen camino
Ne se puede

Me envia el mensaje de INDEX NO FOUND, aunque exista


Estoy pensado en hacer algo como
select * from mpdoc2 where
documento=:documento and Folio=:folio order by partida.

Pero lo que no se, es que tengo que hacer para los parametros, o definitivamente los DBExpress no tienen esa funcion, o si en la Version de Delphi 7 si lo tiene y en delphi 6 no.
Estuve viendo lo FIBPlus que parece que si lo tienen, pero tendria que cambiar toda la aplicacion para que los use, me los recomiendan?, son mas veloces que los componente de DBExpress?

Sin mas me despido y espero alguien me pueda ayudar.
Responder Con Cita
  #4  
Antiguo 17-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Saludos!

¿Probaste a especificar directamente los campos en la propiedad "IndexFieldNames"?.

De todas formas, el SQLClientDataSet debería poseer una propiedad, "IndexDefs", que te permite crear los índices localmente (te lo comento porque yo tengo Delphi 7 y el componente equivalente se llama "SimpleDataSet", pero deberían tener las mismas propiedades), así que podrías probar a crear el índice localmente o usar la propiedad que te comente antes, "IndexFieldNames".

Sobre los componentes FIBPlus, no los conozco pero si atacan directamente el API de Interbase, en teoría, tendrían que ser mas rápidos (ya que la conexión en DBExpress no es tan directa). Ahora, DBExpress te permite una conexión mas universal y si, mas adelante, portaras tu base de datos a, por ejemplo, SQLServer, no tendrías que cambiar ni una sola línea de código en tu aplicación (lo único que tendrías que hacer es configurar sólo el componente de conexión para la nueva base de datos), a parte, DBExpress, es compatible con Linux (lo que te permitiría portar la aplicación a esta plataforma).

Chao!
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


La franja horaria es GMT +2. Ahora son las 17:28:22.


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