Aplicación de base de datos

Para realizar una aplicación en una base de datos se debe seguir los siguientes pasos:

– Abrir Delphi buscar en la paleta y poner los siguientes componentes en su forma, dando doble click (que pone los componentes automáticamente) o haciendo click en uno de los componentes y haciendo click donde lo quiera ver en la forma.

– Para cambiarle de nombre, seleccione «name» en el object inspector y escriba el nuevo nombre.

Estos componentes representan las partes «no visuales» del acceso a base de datos. TQuery es una representación de un Query de SQL, mientras que TDataSource permite conectar controles «data aware» a su aplicación.

Observe el código. Delphi ha insertado declaraciones dentro de su declaración de la forma especificando el nombre de la variable y el tipo de objeto que representa:

– Ir al TQuery y cambie la propiedad «Databasename» a DBDemos. Lo puede escribir textualmente o seleccionarlo de la lista. DBDemos es un alias local que apunta a su directorio de Demos de Delphi.

Se puede ver utilizando el programa BDE Administrator que viene con Delphi. Ya que se tenga especificado el contenedor de base de datos que desee usar por medio del alias, puede lanzar comandos de base de datos a cualquier tabla que se encuentre dentro del contenedor.

Si en esta propiedad especifica un alias que esté configurado a una base de datos SQL, entonces Delphi hará una conexión a la base de datos y mostrará la caja de «login» para que usted escriba su nombre de usuario y clave de acceso en la base de datos.

Seleccionar el TDatasource.
– En la propiedad Dataset, seleccionar qryClientes.

Esto quiere decir que, la «fuente» de los datos va a tomar la información del set de datos qryClientes. Finalmente, en la propiedad DataSource de su TDBNavigator, seleccione dsClients.

De inmediato se podrá notar que los botones del navegador se desactivan, volviéndose grises y opacos. Esto es porque los componentes «data-aware» de Delphi son dinámicos, es decir, se comportan en modo de diseño tal como se comportarán en modo de ejecución. Como su Query está vacío y cerrado, el navegador está desactivado.

¿Cómo activar el Query?

– Primero, necesita hacer un Query en SQL que Delphi pueda utilizar en el alias DbDemos para que Delphi sepa la información de la tabla que se va a utilizar para diseñar.

– Seleccionar el Query, y haciendo doble click en su propiedad «SQL».

A continuación aparecera el «Editor de listas de textos» (String List Editor). Este editor es un editor de textos muy simple y pequeño que simplemente permite escribir más de una línea de texto a la vez. Escriba lo siguiente y después presione OK

SELECT * FROM «CLIENTS.DBF» CLIENTES
WHERE CLIENTES.ACCT_NBR = :Cuenta

La palabra «Cuenta» le dice a Delphi que este query necesitará un parámetro llamado Cuenta, para el número de cuenta.

– Hacer doble click en la propiedad «Params» del Query. Seleccione tipo de datos Integer y valor 1023495 por ahora.

– Asegúrese de que el número de cuenta sea el correcto (consulte la tabla usando Database Explorer si tiene dudas) para que su query devuelva un registro.

Si el query no devuelve nada, todavía podrá diseñar (Delphi devuelve la información de los campos sin registros), pero no verá el registro en tiempo de diseño.

– Ir a la propiedad «RequestLive» de su Query y póngala en «True». Esto es importante porque SQL siempre devuelve resultados «Read-Only», o «muertos» (dead) a menos que especifiquemos que nuestro query debe ser «vivo» (live).

Esto querría decir que nuestro usuario no podría editar el registro! Hay otras condiciones que podrían no permitirnos el recibir un query «vivo», pero las veremos más adelante. Cualquier manual de SQL le explicará qué clase de queries pueden ser modificados y cuales no.

Ahora lo que se quiere hacer es diseñar usando todas las ayudas de Delphi, así que, con el Query todavía cerrado, hacer dobleclick en el query.

Se observara una ventana vacía que dice Form1.qryClientes. Ésta es la lista de registros existentes en el resultado de nuestro query «Clientes». Presionar Control-A (o hacer click con el botón derecho del mouse y seleccione «Add Fields»).

Delphi ejecuta el Query internamente y nos proporciona la lista de las «columnas» (campos) del resultado del Query. Todos los campos están preseleccionados (Delphi asume que usted quiere añadir todos los campos a la forma). Así que simplemente presionar {Enter} para aceptar el añadir todos los campos a su definición.

Cuando se seleccione uno de los campos, el Object Inspector muestra las propiedades de los campos. Mientras no se cambie propiedades importantes como Largo y Nombre del campo, puede usted cambiar la apariencia, el «display name», y el formato de edición (Edit Mask) del campo en tiempo de diseño.

Por ejemplo, seleccionar el campo Last_Name y trate de cambiar su «DisplayName a «Apellido». El nombre del campo para efectos de diseño sigue siendo el mismo, pero ahora desplegará «Apellido» en el TLabel cuando lo pongamos en la forma.

Además, programáticamente, el objeto qryClientesLAST_NAME, de tipo TStringField, tiene como propiedad «DisplayName» el texto «Apellido». Esto será útil para hacer mensajes de error para nuestros usuarios.

Cambiar la propiedad «DisplayName» en todos sus campos y ponga títulos convenientes en cada uno de ellos (¡y por favor en Español!)… Una vez que termine de «amasar sus datos», estará usted listo para diseñar.

Para diseñar la forma, simplemente «arrastrar» cada uno de los campos con el mouse, desde la lista de campos «Form1.qryClientes», hasta la forma, en el orden que desee que el usuario los escriba, y en la posición deseada en la forma.

Cuando «suelte» cada campo, Delphi creará un componente TLabel y un DbEdit por usted, listos para recibir los datos adecuados.

Delphi es versátil también. Examine las propiedades de los «DbEdit»s que ha estado soltando en la forma. Para hacer esto manualmente, seleccionaría un dbEdit de «Data Controls», lo pondría en la forma, y manipularía sus propiedades «DataSource» y «DataField» para mencionar el DataSource en su forma y el campo deseado, respectivamente.

Vista de la forma