viernes, 27 de marzo de 2015

Programacion C# Conexion con M-accesss usando MSSQL

Introducción 

Hola hoy veremos como conectarnos con una base de datos access, este tipo de estructura de manejo de datos no dista mucho de las estructuras convencionales como msql o mssql entre otros. lo que quizás debamos tener claro es la diferencia entre bases de datos y tablas .

la bases de datos son conjuntos de elementos {tablas ,procedimientos,vistas y gatillos} que almacenan datos de manera estructurada para un fácil accesos desde cualquier lugar que tenga un manejador o controlador que pueda accesar a esos datos. Las bases de datos almacenan n cantidad  tablas que a su vez en ella se almacenan  registros con n cantidad de campos y valores,

una tabla tiene n cantidad de columnas y al almacenar elementos dentro de esa tabla se crean registros o filas en la mismas, cada fila tiene la misma cantidad n de valores que tiene la columna. Un dato importante es saber que un buen uso de las tablas es que debe existir en cada tabla un campo numérico primario unico para que cada registro sea único , irrepetible  y pueda ser accesado mas rápidamente  

Desarrollo


Empezaremos creando un archivo .accdb en access llamado labase

con la siguiente estructura y nombre de los campos




por ahora no rescataremos la data que se encuentre en la base de datos pues este post es para conectar o probar conexión.

Abriremos el vstudio  y haremos un form con dos botones uno de ellos sera para cerrar la aplicación otro para ejecutar a un método en una clase para probar la conexión


 Aparte de eso agregaremos una clase al proyecto  y en ella se tendrá un  solo metodo Tipado bool por ahora



En la parte de los llamados a los namespace que necesitares para esta clase



Dentro del metodo creamos el siguiente objeto


este objeto Conn sera el que usaremos para conectar a la base de datos.  y Dt la tabla que contendrá en un futuro los datos rescatados ( no usado ahorita en este post)

Modificamos la propiedad ConnectionString de tipo string que contienen la sentencia de conexion a la base de datos  en este caso para office 2007 en adelante


para mas información sobre conexiones a base de datos en las referencias dejare un link muy interesante a una pagina que te da las sentencias para varios motores de datos 

explicamos brevemente la sentencia de coneccion :

el "@" que se encuentra antes de la cadena nos sirve para no tente que colocar solamente \ en ves de \\ en las rutas de los archivos

provider= especificamos el controlador de oledb que nos permitirá conectar con la base de datos access

data source: indicamos la ruta o camino donde se encuentra el archivo ejemplo ="C:\nueva carpeta\data\basededatos\archivo"

persist security info=indicamos si la base de dato esta bloqueada o no   de ser cierto debemos indicar usuario y contraseña (mucha veces dentro de entorno microsoft es el mismo usuario de sesion windows el que pasamos )


en caso de uso de office 2003 tienes este y ejemplo de paso de user y password para la BD


dentro de un if verificamos si existe el archivo de existir ( true) entramos de los contrario







Dentro del if se encuentra un bloque TRY el cual contiene la accion de coneccion a DB access

una vez terminada la clase entoces pasamos al form. Dentro del form instanciamos la clase 



En el boton "Probar conexion" le creamos un evento click



Dentro del evento click hacemos todo el llamado al metodo de la clase  a su vez este esta en un bloque Try en caso de error  




si hemos hecho todo correctamente podremos probar la conexion con el archivo access con total exito =) 

FIN!

Ejemplo



Referencias

Sentencias de conexion a datos http://www.connectionstrings.com/


1 comentario:

  1. The Lucky Club Casino Site Review - Lucky Club
    With over 80 different games, amazing bonuses and a huge luckyclub selection of slot machines and scratch cards, Lucky Club Casino is an exciting option for  Rating: 8/10 · ‎Review by LuckyClub.com

    ResponderEliminar

NestJs Error on SecretKey for JWToken

  Imagine this you are coding happy, configuring your module has   auth.module.ts   using on your register the classic call to get env value...