Sunteți pe pagina 1din 6

Curso: Desarrollo de Soluciones Empresariales

Guía Introductoria del Curso de Desarrollo de Soluciones Empresariales

1-Creación de una base de datos utilizando Microsoft SQL Server utilizando el


Lenguaje TransacSQL , con las siguientes tablas y datos de ejemplo. Agregar ejemplos
de instrucciones sql de select/join, insert, update y delete .

CREATE TABLE cliente(


id_cliente int primary key identity,
nombre varchar(50),
apellido varchar(50),
direccion varchar(50),
fecha_nacimiento date,
telefono int,
email varchar(50)
)

insert into cliente(nombre) values ('pucho');


insert into cliente(nombre) values ('hijitus');
insert into cliente(nombre) values ('profesor neurus');
insert into cliente(nombre) values ('larguirucho');

CREATE TABLE factura (


numero INT NOT NULL PRIMARY KEY IDENTITY,
fecha DATE NOT NULL,
id_cliente INT NOT NULL,
CONSTRAINT fk_factura_cliente
FOREIGN KEY (id_cliente) REFERENCES cliente(id_cliente)
);

INSERT INTO factura (fecha, id_cliente) VALUES ('2018-08-27', 1);


INSERT INTO factura (fecha, id_cliente) VALUES ('2018-08-28', 2);
INSERT INTO factura (fecha, id_cliente) VALUES ('2018-08-29', 3);
INSERT INTO factura (fecha, id_cliente) VALUES ('2018-08-30', 1);
Curso: Desarrollo de Soluciones Empresariales

CREATE TABLE categoria (


id_categoria INT PRIMARY KEY IDENTITY,
nombre VARCHAR(50),
descripcion VARCHAR(200)
);

INSERT INTO categoria(nombre) VALUES('Tablets');


INSERT INTO categoria(nombre) VALUES('Celulares');
INSERT INTO categoria(nombre) VALUES('Notebooks');

CREATE TABlE producto(


id_producto INT not null PRIMARY KEY IDENTITY,
nombre VARCHAR(30),
precio FLOAT,
stock INT,
id_categoria INT FOREIGN KEY REFERENCES categoria(id_categoria)
);

INSERT INTO producto(nombre, precio, id_categoria) VALUES ('TABLET LG ', '5000', 1);
INSERT INTO producto(nombre, precio, id_categoria) VALUES ('NOTEBOOK LENOVO', '12000',3);
INSERT INTO producto(nombre, precio, id_categoria) VALUES ('LG G3', '10000', 2);

CREATE TABLE [dbo].[Detalle] (

[num_detalle] INT NOT NULL IDENTITY,


[id_factura] INT NOT NULL,
[id_producto] INT NOT NULL,
[cantidad] INT NULL,
[precio] FLOAT (53) NULL,
PRIMARY KEY CLUSTERED ([num_detalle] ASC),
CONSTRAINT [FK_Detalle_id_factura] FOREIGN KEY ([id_factura])
REFERENCES [dbo].[Factura] ([numero]),
CONSTRAINT [FK_Detalle_id_producto] FOREIGN KEY
([id_producto]) REFERENCES [dbo].[Producto] ([id_producto])

);

INSERT INTO Detalle(id_factura, id_producto, cantidad, precio) VALUES (1,2,'2','15.34');


INSERT INTO Detalle(id_factura, id_producto, cantidad, precio) VALUES (1,2,'2','15.34');
INSERT INTO Detalle(id_factura, id_producto, cantidad, precio) VALUES (2,2,'2','15.34');
INSERT INTO Detalle(id_factura, id_producto, cantidad, precio) VALUES (3,3,'2','15.34');
Curso: Desarrollo de Soluciones Empresariales

2 - Creación de aplicación de Windows Form que utilice


el archivo de base de datos local creado en el punto 3, y
realice ABMC sobre la tabla de Cliente utilizando ADO.NET

Creación del proyecto e importación de la base de datos


Creamos un nuevo proyecto denominado ProyBDSQL en una Solucion
slnBDSQL, en este caso una aplicación de Windows Forms. Luego, lo
primero que haremos en nuestro proyecto es importar la base de datos
del punto 1. Para ello necesitaremos tener el archivo de la base de datos
(.mdf):

Elegimos “Base de datos” como el origen de datos y presionamos


Siguiente:

Luego elegimos “Conjunto de datos” como modelo de base de datos a


usar y presionamos
Siguiente. Ahora elegimos la conexión de datos. Para ello crearemos una
nueva conexión:
Curso: Desarrollo de Soluciones Empresariales

Aquí agregaremos el archivo .mdf de


la base de datos BDpunto3, damos
aceptar y volvemos a la ventana
anterior, presionamos Siguiente hasta
llegar a la instancia de elegir
qué objetos
necesitamos de la base de datos:

Elegimos las tablas de la base de datos, que luego utilizaremos en la


aplicación.

Creación de la clase Conexión


Lo que haremos a continuación es agregar a nuestro proyecto una clase
“Conexión” donde definiremos la conexión a la base de datos y un
método para ejecutar los query sobre la base de datos:

class Conexion
{
//creamos un objeto conexion con la cadena de conexion a la
//base de datos
Curso: Desarrollo de Soluciones Empresariales

SqlConnection con = new SqlConnection("Data Source = Initial Catalog=BDpto3;


Integrated Security = True)"" ;
//creamos un o b j e t o command p a r a poder interactuar con el
//motor de base de datos
SqlCommand sql = new SqlCommand();
public Conexion()
{
sql.Connection = con;
}
//creamos un método para ejecutar los query
public void ejecutarQuery(string query)
{
con.Open();
sql.CommandText = query;
try
{
sql.ExecuteNonQuery();
MessageBox.Show("Operación completada con éxito");
}
catch (SqlException)
{
MessageBox.Show("Error en la operación");
}
con.Close();
}
}

Formularios
Agregaremos ahora a nuestro proyecto los formularios necesarios. En
este caso tenemos la ventana principal, un formulario para Nuevo cliente,
uno para Listar los clientes y otro para Editar los datos de un cliente:

En la ventana principal
agregaremos un
MenuStrip desde el
cuadro de herramientas. A
éste le agregaremos los
ítems para poder acceder
a los otros formularios
(Nuevo cliente y Listar
clientes).
Curso: Desarrollo de Soluciones Empresariales

En la ventana Nuevo Cliente tenemos labels y textBoxs para cargar los


datos del cliente, también tenemos los botones para guardar, borrar los
datos o cancelar. El botón guardar realizará la acción de crear un nuevo
cliente en la base de datos con los campos que ingresemos en esta
ventana.

En la ventana Listar Clientes tenemos un DataGridView (que agregamos


del cuadro de herramientas) donde se mostrarán los datos de los
clientes que existen en la base de datos.

Para esto,
debemos
asignarle un
origen de datos
a nuestro
DataGridView:
Seleccionaremos
nuestra tabla
Cliente de la
base de datos.

Al seleccionar un elemento de esta tabla podremos: editar los


datos de un cliente y guardarlo en la base de datos; eliminar un
cliente de la base de datos.