2012-02-17 39 views
5

Actualmente estoy trabajando en un proyecto cuya tarea principal es leer los datos almacenados en la base de datos SQL y mostrarlos en forma fácil de usar. El lenguaje de programación utilizado es C++. Estoy trabajando en el entorno Borland C++ Builder 6. Pero creo que la pregunta planteada en el título es independiente del lenguaje de programación o las bibliotecas. Al leer datos de db, con bastante frecuencia me encuentro con estos términos en nombres de clase sin saber exactamente qué representan. Entiendo que se comportan como una interfaz para los datos almacenados en db. ¿Pero por qué hay necesidad de usar dos clases de interfaz en lugar de una?Diferencia entre DataSource y DataSet

+1

¿De qué plataforma está hablando? Estos términos se usan comúnmente en el código de la base de datos .NET. ¿Es ese el contexto? – Oded

+0

Windows, C++ Builder 6 – truthseeker

Respuesta

5

DataSource = ¿Cómo se conecta a la base de datos DataSet = Estructura de la base de datos en la memoria

Más en detalles (desde el Examen 70-516: TS: Acceso a datos con Microsoft .NET Framework 4 libro):

DataSource Esta es la propiedad principal a la que asigna sus datos. Puede asignar cualquier cosa que implemente la interfaz IList, IListSource, IBindingList o IBindingListView . Algunos ejemplos de elementos que se pueden asignar a la propiedad DataSource son arrays (IList), listas (IList), tablas de datos (IListSource) y conjuntos de datos (IListSource).

DataSet es una representación relacional, tabular, basada en la memoria de datos y es el principal objeto de datos desconectado. Conceptualmente, piense en DataSet como una base de datos relacional en memoria, pero es simplemente datos en caché y no proporciona ninguna de las propiedades transaccionales (atomicidad, consistencia, aislamiento, durabilidad) que son esenciales para las bases de datos relacionales actuales. DataSet contiene una colección de objetos DataTable y DataRelation

2

Suponiendo que está hablando del ecosistema .NET, estos dos términos significan cosas muy diferentes.

A DataSet es una clase que representa datos relacionales en la memoria de proceso (es decir, fuera de la base de datos) - normalmente se rellena desde una base de datos. Representa tablas y relaciones entre ellos (digamos restricciones de clave externa).

DataSource es un atributo en data binding - asignar un objeto a un control en la propiedad DataSource une una fuente de datos (tal como un DataSet) con un control.