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
  #18  
Antiguo 09-11-2012
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 25
poliburro Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Y, ¿hay respuesta para esto? O nos quedamos con que es parte del estandar

// Saludos

Amigo me avoco a tu duda planteada aquí:

Cita:
Empezado por roman
Y volviendo al tema original, ¿qué ventaja representa devolver tres recordsets en lugar de hacer un join normalito que enlace ls tres tablas?

Y sí. No lo sé. Por eso pregunto.
Siguiendo el ejemplo que he posteado en mi blog, si tienes las tablas de encabezado de venta, detalle de venta e información de clientes. devolver toda esa información como un solo join normalito te genera una tabla con la siguiente estructura:

filasdatoscliente, datosencabezadoventa, partidadeventa1
filasdatoscliente, datosencabezadoventa, partidadeventa2
filasdatoscliente, datosencabezadoventa, partidadeventa3
...........
filasdatoscliente, datosencabezadoventa, partidadeventaN

como puedes observar, hacer uso de joins para devolverver toda esa información agrupada es sumamente infeciente pues vas a devolver un recordset con información duplicada y que te exigirá seprarla en tu código para mostrarla en los diferentes repositorios.

Lo que hace la mayoria de programadores es primero consultar el maestro de ventas, luego el detalle de venta y para terminar los datos del cliente. Es la manera tradicional y por cada llamada debes estar haciedno consultas separadas o llamando a los procedimientos almacenados correspondientes. Eso está muy bien, pero si buscas optimizar las llamadas a la base de datos y aprovechar una sola conexión, pues, podrías optar por devolver los tres bloques separados y de esa manera te ahorras todo el trabajo de estar invocando consultas separadas.

esta es una técnica como tantras otras. Podrías decirme que puedes deolverlo en un gran bloque xml, o podrías decirme que prefieres hacer tres consultas a la base de datos o podrías decirme que devolverás todo en un solo gran resultset. Eso queda ya en ti como programador y tus criterios técnicos.
__________________
Conoce mi blog http://www.edgartec.com

Última edición por poliburro fecha: 09-11-2012 a las 17:38:56.
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
Ayuda: "Record not found or changed by another user" alquimista_gdl Conexión con bases de datos 14 21-03-2009 20:09:21
Cursor "intermitente" al realizar consultas. mlara Firebird e Interbase 1 24-05-2008 02:51:26
Error Invalid blob handle in record buffer??? sin usar "Blobs to cache" varuhs Conexión con bases de datos 4 22-01-2007 21:19:53
¿Como Guardar un "RECORD" en un campo BLOB? sitrico Conexión con bases de datos 5 29-06-2004 17:32:01
"no current record for fetch operation" con procedimiento almacenado usado en Select Al González Firebird e Interbase 1 17-03-2004 21:13:17


La franja horaria es GMT +2. Ahora son las 18:53:21.


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