Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki

SQL Server: Desarrollar aplicación con acceso a Microsoft SQL Server 2008 R2 mediante Delphi
Delphi


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

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":

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

En la pestaña "Proveedor" seleccionaremos "SQL Server Native Client 10.0" y pulsaremos "Siguiente":

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

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".

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

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:

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

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):

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

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:

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

Añadiremos ahora, de la pestaña "DataAccess" un componente "TDataSource", en la propiedad "DataSet" seleccionaremos el ADOTable añadido anteriormente (por defecto "ADOTable1"):

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

Añadiremos desde la pestaña "Data Controls" un componente "TDBNavigator", en la propiedad "DataSource" seleccionaremos el TDataSource añadido anteriormente (por defecto "DataSource1"):

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

Añadiremos desde la pestaña "Data Controls" un componente "TDBGrid", en la propiedad "DataSource" seleccionaremos el TDataSource añadido anteriormente (por defecto "DataSource1"):

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

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:

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

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:

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

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".

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

Rpetiremos lo anterior para el caso del campo "nombre", "email", "web" y "direccion":

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

Para el caso del campo "observacion", al ser de tipo "ntext", podremos utilizar el componente TDBMemo de la pestaña "Data Controls":

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

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:

AjpdSoft Crear aplicación con acceso a SQL Server 2008 R2 desde Delphi 6 y ADO

 

 

Artículos relacionados

 

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.


Anuncios


Enviado el Domingo, 08 agosto a las 21:17:28 por ajpdsoft
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A