Enlazar Base de Datos .mdf Visual Studio 2012

Enlazar Base de Datos (.mdf) SQL SERVER con Visual Studio 2012


Esto te va a servir para hacer algun programita portable con C#.
No te preocupes si no sabes mucho programacion. Microsoft genera casi todo el codigo por ti. (util para hacer programas en un par de horas)
Voy a separar este tutorial en 3 partes:
1) Crear la Base de datos (junto con los procedimientos almacenados)
2) Configurar nuestro DataSet (encargado de enlazar la base de datos con nuestra aplicación).
3) Crear la aplicacion para realizar Altas, Bajas y Modifiaciones.

Comenzamos creando un nuevo proyecto de Visual Studio 2012:


Luego lo que hacemos es ir al Explorador de Soluciones y agregamos una nueva carpeta DB: Esto es opcional, la idea es crea esta carpeta para que luego nuesto archivo .exe no esté en la misma raiz que la base de datos .mdf



Ahora si dentro de la carpeta creamos nuestra nueva base de datos .mdf:




Vamos a nombrarla BD_File.mdf. Ahora nos aparecera el siguiente asistente, sigue los siguientes pasos:


Renombra tu DataSet como sale en la figura. Ahora veremos que objetos nos ha creado Visual Studio y para que nos sirven cada uno. Vas a poder observar ahora que tenemos estas cosas en nuestro proyecto:

Para los que no estan familiarizados con estos conceptos los explicare brevemente: La base de datos física va a se nuestro archivo .mdf y el archivo .log va a ser nuestro Transaction Log. Esto es Microsoft SQL Server, el TL lleva seguimiento de las transacciones que se hacen en nuestra base de datos. No vamos a profundizar esto, solo quiero que asumas que esto van a ser 2 archivos físicos (lo que implica acceso al Disco Rigido - Lentitud - es un recurso del programa)

¿Dónde estamos ubicados?
Microsoft tiene dos arquitecturas para acceder a la base de datos, así nuesto programa puede funcionar:

La arquitectura SqlCeResultSet es más rapida que la de arriba, consume menos memoria pero es menos detallada. Nosotros usaremos el DataSet. Otro dia podremos ver la otra, pero necesitaras más conocimientos de programacion.

Creando la base de datosHacemos doble click en DB_File.mdf y nos aparecerá un Explorador de servidores: Te será muy familiar si trabajas con SQL Server. Lo que vamos a hacer ahora también lo podras hacer desde SQL Server 2012 si lo tenes instalado, y recomiendo hacerlo mejor ahí pero en este pequeño tutorial lo haremos desde el editor integrado que viene en visual studio 2012.


Creando las Tablas


No voy a complicarla mucho, voy a crear solo una Tabla Clientes, vos podrás profundizar de acuerdo a tus proyectos.

En la parte inferior esta nuesto codigo SQL, recuerda que en Sql Server y My SQL se puede hacer todo desde codigo. La parte superior es una ayuda.
Crearemos una tabla Clientes con un IdCliente autoincremental, un campo Nombre, Apellido, Altura, y FechaAlta. Estoy usando tipo de dato Cadenas, Entero y un DateTime para que tengamos variado. El codigo SQL es el siguiente, si lo copias y los pegas veras que se sincroniza con el de arriba:

CREATE TABLE [dbo].[Clientes]
(
    [IdCliente] INT NOT NULL PRIMARY KEY IDENTITY,
    [Nombre] NVARCHAR(20) NULL,
    [Apellido] NVARCHAR(20) NULL,
    [Altura] INT NULL,
    [FechaAlta] DATE NULL
)

Puedes generarlo vos mismo con tan solo uso de mouse sino quieres copiar y pegar.

Luego actualizamos y ya podremos ver nuestra tabla creada. Si no se ve, actualiza. Se tiene que ver si o si.



Vamos a crear 3 registros para luego probar nuestos procedimientos almacenados: Para hacer esto vamos a Mostrar Datos de Tabla



Quedara algo asi:



Observa que no puedes editar el IdCliente. Recuerda que esta es no nula, identity(1,1) y primary key.

Creando los procedimientos almacenados

La consulta, insercion, actualizacion y borrado de los registros de la tabla lo manejaremos con Store Procedure (Procedimientos Almacenados) porque segun Microsoft estos realizan optimizacion de velocidad cuando se ejecuta mas de 10 veces, pero una ventaja mas importante es que podemos hacer modificaciones en cascadas en otras tablas o fijar una fecha en automatica, etc.
Antes de realizar esto 4 procedimientos mas 1 de listado analicemos un poco la lógica de nuesto futuro programa:



El formulario de arriba lo nombraremos frmClientesListado y al que sigue se llamara frmClientesEditar. Cuando abrimos nuesto programa nos devolvera un listado completo de todos los clientes (procedimientos que se llamara ClientesListar) al seleccionar me mostrara mi 2do formulario con los datos listo para editar (procedimiento ClientesMostrar(idCliente) y ClientesModificar(IdCliente,Nombre,Apellido,Altura), Tambien podremos eliminar ClientesBorrar(IdCliente) y por ultimo el Agregar (ClientesAgregar(Nombre,Apellido,Altura).
Algunos procedimientos necesitan de parametros, por ejemplo el ClientesListar no necesita nada pues devuelve la tabla completa en cambio el ClientesMostrar necesita el IdCliente porque devuelve solamente una fila. Ambos son SELECT pero se diferencian en lo anterior.
Recuerda que esto es logica de programacion, despues podras hacer un programa portatil como esto:



Sigamos... ahora crearemos una nueva consulta SQL:



El codigo del primer procedimiento es este:



Los otros codigos de los procedimientos faltantes son los siguientes:

ClientesMostrar:

CREATE PROCEDURE ClientesMostrar(
@IdCliente INT)
AS
SELECT IdCliente,Nombre,Apellido,Altura,FechaAlta
FROM Clientes
WHERE IdCliente = @IdCliente


ClientesBorrar:
CREATE PROCEDURE ClientesBorrar(
@IdCliente INT)
AS
DELETE Clientes
FROM Clientes
WHERE [email protected]


ClientesModificar:

CREATE PROCEDURE ClienteModificar(
@IdCliente INT,
@Nombre NVARCHAR(20),
@Apellido NVARCHAR(20),
@Altura int)
AS
UPDATE Clientes
SET
[email protected],
[email protected],
[email protected]
WHERE [email protected]


ClientesAgregar:

CREATE PROCEDURE ClientesAgregar(
@Nombre NVARCHAR(20),
@Apellido NVARCHAR(20),
@Altura int)
AS
INSERT Clientes(
Nombre,
Apellido,
Altura,
FechaAlta)
VALUES(
@Nombre,
@Apellido,
@Altura,
CONVERT(DATE,GETDATE()))


Deberiamos ver todos los procedimientos: actualizar



Hasta aca llegamos en esta parte.

Enlazar Base de Datos .mdf Visual Studio 2012
10 Puntos Score: 10/10
Visitas: 5081 Favoritos: 8
Ver los usuarios que votaron...
13 Comentarios Enlazar Base de Datos .mdf Visual Studio 2012
Gracias por tu aporte !!!!  
Muy bueno compa?
Buen trabajo!!!. Este entorno de desarrollo esta genial. Pero yo descubr?
Ya que les gusto... vamos a seguir con la parte 2  
C# es similar a vb.net?
@jlm317 La semantica es diferente, es decir.. las palabras claves cambian, es mas. existen programas que Cambian codigo de C# a Vb y viceversa.
Mira.. aca tienes un Convert:
http://fishcodelib.com/images/Snap152.png
 
Son tecnoligias inventos de microsoft, no te confundas con C ni con C++
muy bueno, buenisimo el dise?
amigo muy buen aporte me podrias pasar el sql server porfavor
@dukekodak cual necesitas de todos? existen varias versiones... a lo mejor ya tenes un proyecto armado en una determinada version... avisame
@ChamHerz amigo me gustaria que me pasaras la version que usaste para este proyecto ya que lo boy a poner en practica graciass
@dukekodak Ok... el que use aqui es la version integrada del Visual Sutdio 2012, te paso ese.. en otro Post, dame un tiempo
Cita ChamHerz: Mostrar

hola! amigo yo tambien espero el visual studio 2012 me avisas porfa cuando lo subas  
haber si alguien me puede ayudar soy nuevo en el visual studio 2012 como puedo aprender a utilizar ConsoleAppliccation tengo examen de eso no entiendo alquien q me pueda ayudar tutoriales en pdf o algo
Para dejar un comentario Registrate! o.. eres ya usuario? Accede!