Gráficos con bases de datos: Curso DB

En la mayoría de las aplicaciones de bases de datos modernas, algún tipo de representación gráfica de datos es preferible o incluso requerido. Para tales fines, Delphi incluye varios componentes conscientes de los datos: DBImage, DBChart, DecisionChart, etc. DBImage es una extensión de un componente de imagen que muestra una imagen dentro de un campo BLOB. Capítulo 3 de esto curso de base de datos discutió la visualización de imágenes (BMP, JPEG, etc.) dentro de una base de datos de Access con ADO y Delphi. El DBChart es una versión gráfica con reconocimiento de datos del componente TChart.

Nuestro objetivo en este capítulo es presentar el TDBChart mostrándole cómo integrar algunos gráficos básicos en su aplicación basada en ADO de Delphi.

TeeChart

El componente DBChart es una herramienta poderosa para crear tablas y gráficos de bases de datos. No solo es poderoso sino también complejo. No exploraremos todas sus propiedades y métodos, por lo que tendrá que experimentar con él para descubrir todo de lo que es capaz y cómo puede adaptarse mejor a sus necesidades. Al usar el DBChart con el

instagram viewer
TeeChart motor de gráficos puede hacer rápidamente gráficos directamente para los datos en conjuntos de datos sin requerir ningún código. TDBChart se conecta a cualquier fuente de datos de Delphi. Los conjuntos de registros ADO son compatibles de forma nativa. No se requiere código adicional, o solo un poco, como verá. El editor de gráficos lo guiará a través de los pasos para conectarse a sus datos; ni siquiera necesita ir al Inspector de objetos.

Las bibliotecas Runtime TeeChart se incluyen como parte de las versiones Delphi Professional y Enterprise. TChart también está integrado con QuickReport con un componente TChart personalizado en la paleta QuickReport. Delphi Enterprise incluye un control DecisionChart en la página Decision Cube de la paleta Componente.

Preparándose para trazar

Nuestra tarea será crear un formulario Delphi simple con un gráfico lleno de valores de una consulta de base de datos. Para seguir, cree un formulario Delphi de la siguiente manera:

1. Inicie una nueva aplicación Delphi: se crea un formulario en blanco de forma predeterminada.

2. Coloque el siguiente conjunto de componentes en el formulario: ADOConnection, ADOQuery, DataSource, DBGrid y un DBChart.

3. Utilice el Inspector de objetos para conectar ADOQuery con ADOConnection, DBGrid con DataSource con ADOQuery.

4. Configure un enlace con nuestra base de datos de demostración (aboutdelphi.mdb) utilizando ConnectionString del componente ADOConnection.

5. Seleccione el componente ADOQuery y asigne la siguiente cadena a la propiedad SQL:

SELECCIONE EL TOP 5 de clientes. Empresa,
SUM (orders.itemstotal) AS SumItems,
COUNT (orders.orderno) AS NumOrders
DE cliente, pedidos
DONDE customer.custno = orders.custno
GRUPO POR CLIENTE. Empresa
ORDEN POR SUMA (orders.itemstotal) DESC
Esta consulta utiliza dos tablas: pedidos y cliente. Ambas tablas se importaron de la base de datos DBDemos (BDE / Paradox) a nuestra base de datos de demostración (MS Access). Esta consulta da como resultado un conjunto de registros con solo 5 registros. El primer campo es el nombre de la empresa, el segundo (SumItems) es una suma de todos los pedidos realizados por la empresa y el tercer campo (NumOrders) representa el número de pedidos realizados por la empresa. Tenga en cuenta que esas dos tablas están vinculadas en una relación maestro-detalle.
6. Cree una lista persistente de campos de base de datos. (Para invocar el Editor de campos, haga doble clic en el componente ADOQuery. Por defecto, la lista de campos está vacía. Haga clic en Agregar para abrir un cuadro de diálogo que enumera los campos recuperados por la consulta (Compañía, Núm. De pedido, Suma de artículos). Por defecto, todos los campos están seleccionados. Seleccione Aceptar.) Aunque no necesita un conjunto persistente de campos para trabajar con un componente DBChart, lo crearemos ahora. Los motivos se explicarán más adelante.

7. Establecer ADOQuery. Active a True en el Inspector de objetos para ver el conjunto resultante en tiempo de diseño.