Manejo DataSet

27/10/2004 - 23:16 por Olga | Informe spam
Hola, estoy desarrollando una aplicacion y se me ha
planteado un problemilla:

La aplicacion tiene 3 capas: la de presentacion
(formularios), la de negocio y otra que hace de
intermediaria entre la de negocio y las bases de datos.

Imaginemos que desde la clase del formulario ejecuto el
metodo buscar de la clase negocio y se obtienen varios
registros.

Entonces no se que formato es el mejor para que la capa de
negocio pase los datos a la capa de presentacion si en un
DataTable y un DataSet.

Yo creo que lo mejor seria un DataSet lo que pasa es que
entonces la capa de presentacion deberia conocer los campos
de la tabla de la base de datos sobre la que se ha
realizado la busqueda, sin embargo si el resultado de la
busqueda es mas que 1 registro, no se como meterlos en 1
DataTable.

Se me ha ocurrido que la respuesta a la busqueda puede ser
un DataTable sólo con los codigos. Pero de esta forma
necesitare otra funcion para obtener todos los campos a
partir de un codigo concreto. Pero esto tiene un problema y
es si la busqueda devuelve gran cantidad de registros, pues
tendria que hacerse gran cantidad + 1 accesos a la base de
datos: el de la busqueda y 1 por cada codigo devuelto.


He intentado explicarme lo mejor posible. Por favor, a ver
si podeis darme algun consejo o decirme alguna forma de
solucionar esto.

Muchisimas gracias.
 

Leer las respuestas

#1 Alfredo Novoa
28/10/2004 - 01:58 | Informe spam
On Wed, 27 Oct 2004 18:18:11 -0400, "Jose Luis Manners"
<josemanners(-arroba-)hotmail.com> wrote:

Yo crearía en la capa de negocios una colección de objetos que sean
generados a partir de tu base de datos y se los pasas al formulario. Así el
formulario no tiene que conocer los detalles de como están almacenados los
datos en la base de datos.



Sería mucho mejor eliminar la capa de negocio de la aplicación y
utilizar un Sistema de Gestión de Bases de Datos para gestionar la
base de datos. Así la aplicación no tendria que conocer los detalles
de como están almacenados los datos en la base de datos.

A esto se le llama: independencia física.

Un SGBD como por ejemplo SQL Server, es un intermediario entre las
aplicaciones y la base de datos. Una capa intermedia, como a la gente
de por aquí le gusta decir.


Saludos

Preguntas similares