Explicamos cómo desarrollar una aplicación con Borland Delphi 6 con acceso al motor de base de datos Microsoft SQL Server 2008 R2. Explicamos cómo realizar el acceso a SQL Server desde Delphi mediante ADO. Mostramos un ejemplo tanto de un DBGrid editable como de controles enlazados a datos.
- Requisitos necesarios para acceso de aplicación Delphi a SQL Server.
- Desarrollar aplicación en Delphi con acceso a una base de datos Microsoft SQL Server 2008 R2 mediante ADO.
- Artículos relacionados.
- Créditos.
Requisitos necesarios para acceso de aplicación Delphi a SQL Server
Lógicamente, el primer requisito es disponer de un servidor o equipo con Microsoft SQL Server instalado y la correspondiente base de datos creada. En el siguiente artículo explicamos cómo instalar Microsoft SQL Server en un equipo y cómo administrarlo:
Instalar y administrar Microsoft SQL Server 2008 R2 Express
Por otro lado, para desarrollar aplicaciones, necesitaremos Borland Delphi (o cualquier otro lenguaje de programación), con capacidad de acceso a datos mediante ADO. En nuestro caso usaremos Borland Delphi 6, si bien obsoleto, aún sigue siendo usado por muchos desarrolladores por su gran versatilidad.
Desarrollar aplicación en Delphi con acceso a una base de datos Microsoft SQL Server 2008 R2 mediante ADO
Abriremos Delphi, pulsaremos "File" - "New" - "Application", agregaremos un componente de tipo TADOConnection, de la paleta de componentes "ADO". Una vez añadido el componente haremos doble clic sobre él, nos aparecerá la ventana del asistente de nueva conexión ADO, marcaremos la opción "Use Connection String" y pulsaremos "Build":
En la pestaña "Proveedor" seleccionaremos "SQL Server Native Client 10.0" y pulsaremos "Siguiente":
En la pestaña de "Conexión" introduciremos los siguientes datos:
- 1. Select or enter a server name: seleccionaremos del desplegable el servidor y la instancia de SQL Server (o la introduciremos si no aparece), con el formato: HOSTNAMENOMBRE_INSTANCIA.
- Use a specific user name and password: marcaremos esta opción si queremos realizar la conexión mediante validación usando usuario y contraseña de SQL Server.
- Use Windows NT Integrated security: marcaremos esta opción si queremos realizar la conexión mediante validación usando usuario del sistema operativo.
- 3. Select the database: marcaremos esta opción e indicaremos la base de datos a la que nos conectaremos, en nuestro caso "bdajpdsoft".
Pulsando "Aceptar" en la ventana anterior, una vez seleccionadas las opciones de configuración de la conexión ADO a SQL Server con Delphi, en el campo "Use Connection String" nos añadirá la cadena de conexión resultante:
Un ejemplo de cadena de conexión ADO a SQL Server:
Provider=SQLNCLI10.1;Integrated Security="";Persist Security Info=False;User ID=sa;Initial Catalog=bdajpdsoft;Data Source=PCALONSOSQLEXPRESS;Initial File Name="";Server SPN=""
Añadiremos, de la pestaña "ADO", un componente "ADOTable", en la propiedad "Connection" de éste seleccionaremos el ADOConnection añadido anteriormente (por defecto ADOConnection1):
Y en la propiedad "Table" del componente ADOTable seleccionaremos una tabla de las existentes en la base de datos "bdajpdsoft" creada en SQL Server en pasos anteriores. Siguiendo el ejemplo, puesto que creamos la tabla "cliente", la seleccionaremos ahora:
Añadiremos ahora, de la pestaña "DataAccess" un componente "TDataSource", en la propiedad "DataSet" seleccionaremos el ADOTable añadido anteriormente (por defecto "ADOTable1"):
Añadiremos desde la pestaña "Data Controls" un componente "TDBNavigator", en la propiedad "DataSource" seleccionaremos el TDataSource añadido anteriormente (por defecto "DataSource1"):
Añadiremos desde la pestaña "Data Controls" un componente "TDBGrid", en la propiedad "DataSource" seleccionaremos el TDataSource añadido anteriormente (por defecto "DataSource1"):
Si cambiamos el valor de la propiedad "Active" del componente TADOTable a "True", Delphi activará la conexión con el servidor Microsoft SQL Server 2008 R2 en tiempo de diseño, de esta forma podremos realizar una prueba inicial:
Si compilamos la aplicación pulsando la tecla F9 (o desde el menú "Run" - "Run") funcionará directamente, podremos añadir registros a la tabla SQL Server "cliente", eliminarlos o modificarlos:
Como se puede observar, no hemos usado ni una sola línea de código. Aunque, evidentemente, en una aplicación "real", es conviente realizar varias tareas que requerirán de código, como:
- El usuario y la contraseña de acceso a SQL Server debería ser guardado en un fichero INI o en el Registro de configuraciones (con la contraseña encriptada, por supuesto). De forma que añadiríamos una opción de configuración en la aplicación que permitiese al usuario cambiar los datos de acceso de forma personalizada.
- Por supuesto hay datos que no se pueden introducir directamente, en el ejemplo vemos que el campo "Observación", al ser de tipo "ntext", habría que programar la introducción de datos en este campo mediante un componente TDBMemo.
- Algunos campos suelen rellenarse con valores por defecto, por ejemplo, la "Fecha de alta", con un código como este:
ADOTable1.FieldByName('fechaalta').AsDateTime := now;
- Algunos campos suelen requerir de validación antes de ser guardados.
- En una aplicación real suelen haber varias ventanas, con varias tablas.
Además de un DBGrid, podemos crear también componentes enlazados para modificación o inserción de un solo registro, por ejemplo, en la ventana anterior, haciendo un hueco en la parte inferor, insertamos los siguientes componentes (de la pestaña "Data Controls"), añadiremos un "TDBEdit", con las siguientes propiedades:
- En la propiedad "DataSource" seleccionaremos el TDataSource añadido anteriormente (por defecto "DataSource1").
- En la propiedad "DataField" seleccionaremos el campo "cif" de la tabla "cliente".
Rpetiremos lo anterior para el caso del campo "nombre", "email", "web" y "direccion":
Para el caso del campo "observacion", al ser de tipo "ntext", podremos utilizar el componente TDBMemo de la pestaña "Data Controls":
Compilando la aplicación, veremos que cualquier cambio que se haga en el DBGrid quedará reflejado en los componentes TDBEdit enlazados y viceversa. Además, podremos introducir datos en el campo "observacion" de tipo "ntext", todo ello, una vez más, sin una sola línea de código:
Artículos relacionados
- Instalar y administrar Microsoft SQL Server 2008 Express SP1.
- Cómo acceder a Oracle con Delphi sin utilizar código fuente.
- Instalación de Microsoft SQL Server 2005 en Windows XP.
- Instalar y administrar MSDE Microsoft SQL Server Desktop Engine.
- Tipos de datos del motor de base de datos Microsoft SQL Server.
- Acceso a una base de datos Microsoft Access desde Microsoft Word.
- Instalación y configuración de Windows XP Service Pack 3.
- Instalación de Windows Server 2003 Enterprise Edition SP2.
- Artículos del Proyecto AjpdSoft sobre Windows.
- Artículos del Proyecto AjpdSoft sobre MySQL Server.
- Artículos del Proyecto AjpdSoft sobre Oracle Database.
- Artículos del Proyecto AjpdSoft sobre IBM DB2.
- Artículos del Proyecto AjpdSoft sobre Microsoft Access.
- Artículos del Proyecto AjpdSoft sobre SQLite.
- Artículos del Proyecto AjpdSoft sobre Bases de Datos.
- Instalar Oracle Database 10g Express Edition XE en Linux Ubuntu 6.06.
- Instalar Oracle Dabase XE (Express Edition) en GNU Linux Fedora 10.
- Instalar y realizar aplicación web con Oracle Application Express.
- Foro del Proyecto AjpdSoft sobre Microsoft SQL Server con trucos y dudas resueltas.
- AjpdSoft Administración de base de datos.
- AjpdSoft Esquema XML Tree.
- AjpdSoft Copia Seguridad MySQL.
- AjpdSoft Gestión Comercial.
Créditos
Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.
No hay comentarios:
Publicar un comentario