Home arrow Programacion arrow Visual Fox pro arrow Crear Clase para conectividad a Sql Server
Prog. VB
Main Menu
Home
Descargas
Articulos
Programacion
Base de datos
CMS
Linux
utilidades
Articulos
Crear Clase para conectividad a Sql Server PDF Imprimir E-Mail
escrito por Ing. Sergio Coronado   
Thursday, 23 de March de 2006
Esta vez abordaremos la forma de crear una conexion a MS Sql Server, para ello contruiremos una clase que nos permita hacer eso. Con lo que pondremos en practica la forma de crear clases en Visual Foxpro asi como tambien como hacer una conexion a un Motor de Bases de datos Sql Server. Esta clase podria ser el punto de partida para tener una plantilla de codigo que en el futuro nos permita conectarnos a diversos motores de base de datos Sql Server(FireBird, Postgre, o el popular Mysql).
 


 
 
 


 
Lo primero que debemos de hacer es crear una biblioteca de clase, para hacer esto hacemos clic en la  pestaña de clases en el administrador de proyecto. 

Hacemos clic en new(nuevo) para crear una nueva biblioteca de clases,  en el cuadro class name establecemos el nombre de la clase. En la parte donde dice Based On seleccionamos la lista y hacemos clic en personalizado (Custom) ver figura # 1.

  Image

Figura #1. Cuadro de Dialogo New Class. 

 
Como siguiente paso crearemos la biblioteca de clases donde guardaremos nuestra clase personalizada, hacemos clic en el botón de tres puntos que se encuentra junto al rectángulo Store in vea figura #2.

 

Image
dialogo newclass
Figura #2. Cuadro de Dialogo New Class Donde se Muestra el Boton de tres puntos para activar el cuadro de dialogo Guardar Como.

 
Cuando nos aparezca el cuadro de dialogo guardar como, escribimos el nombre de la biblioteca y hacemos clic en guardar ver figura # 3.

 Image Figura #3. Cuadro de Dialogo Guardar Como. Aqui es donde Ponemos el Nombre de la biblioteca de clases (datamanage). 

Una vez creada la biblioteca de clase procederemos a crear el código de la clase que nos va a permitir la conexión a Sql Server y que podría servirnos en el futuro para tener conectividad a distintos motores de bases de datos. Para que eso sea posible tendríamos que agregar las opciones que nos permitan conectarnos a otros Motores Sql Server: entre ellos tenemos FireBird Sql Server o Mysql Server.

 Cuando guardamos la biblioteca de clases, posteriormente nos aparece el diseñador de clases,  esta ventana es donde se puede crear el código que se va a encapsular en la clase, ver figura #4

 Image

 Figura #4. Ventana del diseñador de clases

 

Seleccionamos el objeto datamanage, este nombre fue el que se le estableció cuando creamos la clase.

 Para crear un método para la clase, hacemos clic en el menú Class, y en New Method, en la ventana New Method establecemos el nombre de método a create_connect, este método se va a utilizar para crear una cadena de conexión y a la vez establecer una conexión a Sql Server, al crear el método este se lista como uno mas de la lista de propiedades de la clase. Hagamos clic con el botón derecho en el objeto datamanage y seleccionemos propiedades en la pestaña de Métodos busquemos el metodo create_connect y hagamos doble clic en el para abrir la ventana de código, una vez echo esto copiemos el siguiente código en la ventana de código del objeto datamanage para el método citado (create_connect)

 

1. camino = FULLPATH('conexion.txt')

2. IF FILE(camino)  && verificar si el archivo existe?

3.   gnErrFile = FOPEN(camino,12)&&si es así,abrir para leer y   escribir

4.    sserver = FGETS(gnErrFile)

5.    sdatabase = FGETS(gnErrFile)

6.sconnexion="Driver={SQLServer};Server=";

+sserver+";Database="+sdatabase+";Uid=sa;Pwd=sa;" 

7.  lcString = Sqlstringconnect(sconnexion,.T.)

8.  this.handle_conn = lcString  

ENDIF

 

Veamos la figura #5, la cual contiene el código descrito anteriormente.

 

Image
metodo Create_connect

 Figura#5. Ventana de Codigo del metodo create_connect

 

Explicación de las Instrucciones del método create_connect

 

En la instrucción 1, se devuelve la ruta completa del archivo conexión.txt en el directorio actual, si el archivo se encuentra se abre para lectura o escritura, esto se hace en las instrucciones 2 y 3.

 

Las instrucciones 4 y 5 leen la primera y segunda línea de texto del archivo conexión.txt y los guardan en la variables respectivas que se corresponden con el nombre del  servidor y la base de datos a la cual queremos conectarnos.

 

La instrucción 6 crea una cadena de conexión al motor Sql Server, tomando como parámetros el nombre del servidor, el cual esta en la variable sserver, el nombre de la base  de datos, que se encuentra en la variable sdatabase.

 

En la instrucción 7, mandamos a ejecutar la conexión a una fuente de datos utilizando la cadena de conexión, si la conexión se establece se retorna un valor entero positivo, de lo contrario se retorna -1

 

Por ultimo hacemos que el manejador de conexión que obtenemos al ejecutar la instrucción 7, lo asignamos a la propiedad handle_conn, en el párrafo siguiente explicamos como se crea esta propiedad.

 

Ahora vamos a crear una propiedad para la clase la cual deberíamos haber hecho antes de crear el método, para hacer esto regresamos al menú class y hacemos clic en New Property establecemos su nombre a handle_conn, también establecemos las propiedades Acces_Method y Assign_Method,  en default inicial value establecemos el valor 0.

 

Utilización de la Clase en un formulario

 

Para ello creamos un formulario.

Agregamos un Botón de comando  y escribimos las siguientes instrucciones:

 

  1. SET CLASSLIB TO datamanage ADDITIVE 
  2. oconn = CREATEOBJECT("Datamanage")

 

  1. oconn.create_connect
  2. ssql = "SELECT num_cuota,num_credito FROM pr.pr_plan_pagos "
  3. ssql = ssql + " WHERE num_credito = 1 ;"
  4. SQLEXEC(oconn.handle_conn,ssql,'pla_pagos')
  5. SELECT plan_pagos.* FROM plan_pagos

 

Explicación de las instrucciones anteriores

 

La primera instrucción abre una biblioteca de clases sin cerrar ninguna biblioteca que se encuentre abierta actualmente. 

La segunda crea un objeto del tipo de la clase, este objeto nos permite utilizar los métodos y propiedades contenidos en la clase. En conceptos de programación orientada a Objetos la instrucción numero 2 lo que hace es una instancia de la clase Datamanage. 

La tercera instrucción manda a ejecutar el metodo str_conexion el cual crea la conexión a Sql Server. 

En la sexta instrucción se utiliza la propiedad handle_conn la cual contiene el manejador de conexión que se crea al ejecutar la instrucción 3.

Las instrucciones 4 y 5 crean una cadena de consulta que se va a mandar a ejecutar con la instrucción 6. En la instrucción 6, el procedimiento SQLEXEC toma tres parámetros, el primero de ellos es el manejador que se creo cuando se ejecuto la instrucción 3, el segundo parámetro es la cadena de consulta que se va a ejecutar, y el tercer parámetro es el nombre del conjunto de resultados, es ago similar a un cursor que puede ser manejado con instrucciones propias de Visual FoxPro.

Bueno eso seria todo por hoy les queda como tarea crear un método que nos permita cerrar la conexión y en el metodo create_connect una instrucción que cierre el archivo conexión.txt.

 

 

 

 

 

 

 

 

Modificado el ( Tuesday, 16 de June de 2009 )
 
< Anterior   Siguiente >

Programación VFP

 
© 2010 ALLTECHINFO
Joomla! is Free Software released under the GNU/GPL License.