Sunteți pe pagina 1din 40

Analisis del Sistema de Base de Datos Relacional.

Asignación del Grupo # 3


Se quiere diseñar un sistema y una base de datos relacional para gestionar datos
de los socios de un club náutico.
De cada socio se guardan los datos personales y los datos del barco o barcos que posee:
número de matrícula, nombre, número del amarre y cuota que paga por el mismo.
Además, se quiere mantener Información sobre las salidas realizadas por cada barco,
como la fecha y hora de salida, el destino y los datos personales del patrón, que no tiene
por qué ser el propietario del barco, ni es necesario que sea socio del club.

Soluciones Planteadas:
Centrándonos en la petición del planteamiento, he divido el problema de la base de datos
de la siguiente forma:
Como podemos apreciar se destacan varias entidades y campos:
a) De cada socio se guardan datos personales (número de identificación, nombre, direccion
y sexo, etc.).
b) Los Datos Del Barco o Barcos que poseen (número de Matrícula, nombre, Numero Del
Amarre, cuota que paga por el mismo).
c) Se requiere mantener la información sobre las salidas realizadas por cada Barco, Como
la Fecha y hora de salida, el destino y los Datos personales Del capitán Del Barco.

De acuerdo a las reglas náuticas se deben seguir los siguientes requerimientos o


Restrinciones:
a) Un socio puede tener muchos barcos y un barco un único socio.
b) Un capitán puede manejar muchos barcos y un barco solo puede ser manejado por
un solo capitán.
c) Un barco puede tener muchas salidas y una salida pertenece a un solo barco.
d) El patron no tiene que ser propietario del barco, ni ser socio del club.

Aquí podemos ver claramente las relaciones y las entidades, donde nos muestra las tablas
a considerar, como son (socio, patron, barco, salida, y destino), pero para ello nos
basamos en el esquema siguiente, un socio y patron tienen las mismas informaciones,
solo el tipo de persona que es, alli elimino esas dos tablas y creo una sola llamada persona,
indicándole un campo que se llame tipo de persona, con esto tengo otra tabla donde
almacenare (si es socio, si es patron o es propietario, así de 3 tablas solo tengo una).
Todo barco viene de algún lugar y todo socio o persona tiene una nacionalidad, alli vemos
que tenemos que crear una tabla nacionalidad para poder relacionar con el barco y su
salida. También sabemos que el socio o persona o capitán deben de tener un sexo
característico, por ello debemos crear otra tabla llamada Sexo.
Con esto tendríamos ya nuestro esquema de bases datos:
Tablas: (Barco, Persona, Destino, Nacionalidad, Salida, Sexo, tipo Persona), adicional
a estas tendremos una tabla extra llamada Usuario, donde cada usuario seremos nosotros,
los que manipularemos el sistema.
Ya no entrare en estas cuestiones de instalación, y configuracion de un sistema de bases
de datos, porque a esta altura considero ya todos deben conocer esto, y deben de tenerlo
instalado en PC o laptop, a continuación detalle en codigo de los comandos usados que
solo deben de introducir.

Creación del Sistema de Base de Datos Relacional.

Ya dentro del SQL server, nos loguemos con el usuario que tenemos al servidor creado
para tales fines, en mi caso como ven Juancito.

Buscamos esta opcion si es en inglés, si es pañol esta:


en ambos casos se abre una ventana a la derecha con el espacio donde digitaran sus
códigos para la creación de la base de datos, sus tablas y sus campos.
El primer ejerció es el único que mostrare, como ven a continuación, todos los códigos que use
para la creación de todo se los dejo aquí, solo deben ir paso por paso copiando y ejecutando.
Comenzare con la creación de la base de datos.

--Creamos la base de datos

CREATE DATABASE Clubnautico


GO

--Usar la Base de Datos.

Use Clubnautico
Go

Al digitar o copiar este codigo y ejecutar nos sale en para más abajo donde dice mensaje
en español, si es ingles ya sabe es lo mismo, vemos que dice que se ejecutó correctamente,
lo que hemos hecho es crear la base de datos, luego de esto escribimos el otro codigo que
es para indicar que queremos usar esa base de datos para trabajar en ella digitar los demas
códigos.

Hasta aquí les explicó lo demas es intuitivo, es la misma operación, digitar y ejecutar cada
bloque de codigo, primero hagan las tablas, es decir todas las tablas y luego introducen
los datos.

A continuación todos los códigos de la Base de Datos y sus Tablas así como los registros
de los mismos.
--Creamos la tabla Usuarios

CREATE TABLE usuarios


(
codigo int PRIMARY key identity,
usuario varchar(50) NOT NULL,
password varchar(50) NOT NULL,
)
GO

--Insertamos algunos registros:

INSERT INTO usuarios (usuario, password) VALUES ('jpv','1234')


INSERT INTO usuarios (usuario, password) VALUES ('fvm','1234')
INSERT INTO usuarios (usuario, password) VALUES ('mgm','1234')
INSERT INTO usuarios (usuario, password) VALUES ('yhm','1234')
INSERT INTO usuarios (usuario, password) VALUES ('fgf','1234')

*Estos nombres en alusión a la primera letra de cada nombre y Apellido nuestro*.

--Creamos la tabla SEXO

CREATE TABLE sexo


(
codigo int PRIMARY key identity,
sexo varchar(10) NOT NULL,
)
GO
--Insertamos algunos registros:

INSERT INTO sexo (sexo) VALUES ('Masculino')


INSERT INTO sexo (sexo) VALUES ('Femenino')

--Creando tabla persona

CREATE TABLE persona (


id_persona int not null PRIMARY KEY IDENTITY (1,1),
DNI varchar(13) NOT NULL,
nombre varchar(40) NOT NULL,
apellidos varchar(60) NOT NULL,
direccion varchar(100) NOT NULL,
telefono varchar(15) NOT NULL,
codigo_sexo int NOT NULL,
Id_nacion int NOT NULL,
tipo_persona int not null,
)
GO
--Insertamos algunos registros:

INSERT INTO persona VALUES ('224-0000833-4','Juancito','Peña


Vizcaino','Ens.Altagracia Herrera','829-760-0614','1','1','1')
INSERT INTO persona VALUES ('224-0524522-2','Felix','Mercedes','Calle #25, café
Herrera','829-758-6095','1','1','2')
INSERT INTO persona VALUES ('107-000125-3','Frank','Garcia','Zona Oriental #
Lejos','829-966-6848','1','5','3')

select * from persona


--Creando tabla Tipo_persona

CREATE TABLE tipo_persona(


id_tipo_persona int not null PRIMARY KEY IDENTITY (1,1),
Descripcion varchar(15) not null
)
go

--Insertamos algunos registros:

INSERT INTO tipo_persona (Descripcion) VALUES ('Socio')


INSERT INTO tipo_persona (Descripcion) VALUES ('Patron')
INSERT INTO tipo_persona (Descripcion) VALUES ('Propietario')

select * from tipo_persona

--Creamos la tabla nacionalidad

CREATE TABLE nacionalidad(


Id_nacion int IDENTITY(1,1) NOT NULL PRIMARY KEY,
Nombre varchar(50) NOT NULL
)
GO

--Insertamos algunos registros:

SET IDENTITY_INSERT [dbo].nacionalidad ON


INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'Republica Dominicana')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'Puerto Rico')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'Colombia')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'Cuba')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'Jamaica')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'Estados Unidos')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'Canada')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'España')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'Japon')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'Argentina')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'Venezuela')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'Francia')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'Roma')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'Italia')
INSERT [dbo].nacionalidad ([Nombre]) VALUES (N'China Oriental')
--Creando tabla Barco

CREATE TABLE Barco (


Id_barco int not null IDENTITY (1, 1),
N_matricula varchar (20) PRIMARY KEY NOT NULL,
nombre varchar (50) NOT NULL,
N_amarre int NOT NULL,
cuota int NOT NULL,
id_destino int NOT NULL,
id_persona int NOT NULL
)
GO

--Insertamos algunos registros:

INSERT INTO Barco VALUES ('7ª-AT-6-31-04','La Pinta', 2, 1500,'1','1')


INSERT INTO Barco VALUES ('7ª-BA-5-000-11','La Niña', 5, 1850,'1','2')
INSERT INTO Barco VALUES ('8ª-NG-9-058-10','La Santa Maria', 3, 1752,'5','3')

select * from Barco

--Creamos la tabla salida

CREATE TABLE salida


(
Id_salida int not null PRIMARY KEY IDENTITY (1, 1),
N_matricula varchar (20) NOT NULL,
fecha_hora_salida datetime NOT NULL,
id_persona int not null,
Id_destino int not null
)
GO

--Insertamos algunos registros:

INSERT INTO salida (N_matricula, fecha_hora_salida, id_persona, id_destino)


VALUES ('7ª-AT-6-31-04','01-10-16 5:28:09 AM','1','1')
INSERT INTO salida (N_matricula, fecha_hora_salida, id_persona, id_destino)
VALUES ('7ª-BA-5-000-11','2016-10-01 05:28:09 AM','3','9')
INSERT INTO salida (N_matricula, fecha_hora_salida, id_persona, id_destino)
VALUES ('8ª-NG-9-058-10','2016-09-11 07:58:19 PM','2','5')

SELECT * FROM salida

--Creamos la tabla nacionalidad

CREATE TABLE destino (


Id_destino int IDENTITY (1, 1) NOT NULL PRIMARY KEY,
Nombre_destino varchar (50) NOT NULL
)
GO

--Insertamos algunos registros:

SET IDENTITY_INSERT [dbo].destino ON


INSERT [dbo].destino (Id_destino, Nombre_destino) VALUES (1, N'Republica
Dominicana')
INSERT [dbo].destino (Id_destino, Nombre_destino) VALUES (2, N'Puerto Rico')
INSERT [dbo].destino (Id_destino, Nombre_destino) VALUES (3, N'Colombia')
INSERT [dbo].destino (Id_destino, Nombre_destino) VALUES (4, N'Cuba')
INSERT [dbo].destino (Id_destino, Nombre_destino) VALUES (5, N'Jamaica')
INSERT [dbo].destino (Id_destino, Nombre_destino) VALUES (6, N'Estados Unidos')
INSERT [dbo].destino (Id_destino, Nombre_destino) VALUES (7, N'Canada')
INSERT [dbo].destino (Id_destino, Nombre_destino) VALUES (8, N'España')
INSERT [dbo].destino (Id_destino, Nombre_destino) VALUES (9, N'Japon')
INSERT [dbo].destino (Id_destino, Nombre_destino) VALUES (10, N'Argentina')
INSERT [dbo].destino (Id_destino, Nombre_destino) VALUES (11, N'Venezuela')
INSERT [dbo].destino (Id_destino, Nombre_destino) VALUES (12, N'Francia')

select * from destino

Al final quedaría el diagrama de nuestra base de datos de la siguiente


forma:

Diseño y Codificacion usando el Entorno de Desarrollo Visual


Studio 2015 con el Lenguaje de Programación C#.
Codigo Ventana Login:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient; //Libreria Necesaria para poder acceder a SQL Server

namespace Club_Nautico_Grupo.N._3
{
public partial class FrmLogin : Form
{
public FrmLogin()
{
InitializeComponent();
}

//CREAMOS NUESTRO PROCEDIMIENTO PARA EL BOTON INICIAR.

private void btnIniciar_Click(object sender, EventArgs e)


{

try
{
//Creamos la Cadena de conexion a la Base de Datos y las Tablas
SqlConnection miConecion = new
SqlConnection(@"server=JUANCITO\SQLJUANCITO; Initial Catalog = CLUBNAUTICO;
Integrated Security=True;");

//abrimos la conexion a la Base de Datos y las Tablas


miConecion.Open();
//creamos un comando que nos seleccione el usuario y la clave de
la tabla ylo valide con los cuadros de textos donde digitamos
SqlCommand comando = new SqlCommand("select USUARIO, PASSWORD
from USUARIO where USUARIO = '" + txtusuario.Text + "'And PASSWORD= '" +
txcontraseña.Text + "' ", miConecion);

//ejecuta una instruccion de SQL devolviendo el numero de las


filas afectadas
comando.ExecuteNonQuery();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(comando);

//Llenando el dataAdapter
da.Fill(ds, "USUARIO");
//utilizado para representar una fila de la tabla q necesitas en
este caso usuario
DataRow DR;
DR = ds.Tables["USUARIO"].Rows[0];

//evaluando que la contraseña y usuario sean correctos


if ((txtusuario.Text == DR["USUARIO"].ToString()) ||
(txcontraseña.Text == DR["PASSWORD"].ToString()))
{
//instanciando el formulario principal
FrmPrincipal frmPrincipal = new FrmPrincipal();
frmPrincipal.Show();//abriendo el formulario principal
this.Hide();//esto sirve para ocultar el formulario de login
}

}
catch
{
//en caso que la contraseña sea erronea mostrara un mensaje
//dentro de los parentesis va: "Mensaje a mostrar","Titulo de la
ventana",botones a mostrar en ste caso OK, icono a mostrar en este caso uno de
error
MessageBox.Show("Error! Su contraseña y/o usuario son invalidos",
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

private void btnCancelar_Click(object sender, EventArgs e)


{
//Al darle al Boton Cancelar Salimos de la aplicacion
Application.Exit();
}

private void txtusuario_TextChanged(object sender, EventArgs e)


{
//aca se activa el boton INICIAR nos vamos a propiedas y buscamos
eventos, luego buscamos TextChanged y damos doble click y escribimos esto:
btnIniciar.Enabled = true;
}
}
}
Codigo Ventana Principal:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Club_Nautico_Grupo.N._3
{
public partial class FrmPrincipal : Form
{
public FrmPrincipal()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{

//instanciando el formulario
FrmPersonas FrmPersonas = new FrmPersonas();
FrmPersonas.Show();//abriendo el formulario
this.Hide();//esto sirve para ocultar el formulario
}

private void button2_Click(object sender, EventArgs e)


{

//instanciando el formulario
FrmBarco FrmBarco = new FrmBarco();
FrmBarco.MdiParent = this;
FrmBarco.Show();//abriendo el formulario

private void button3_Click(object sender, EventArgs e)


{
//instanciando el formulario
FrmSalida FrmSalida = new FrmSalida();
FrmSalida.Show();//abriendo el formulario
FrmSalida.MdiParent = this;

private void personasToolStripMenuItem_Click(object sender, EventArgs e)


{

//instanciando el formulario
FrmPersonas FrmPersonas = new FrmPersonas();
FrmPersonas.MdiParent = this;
FrmPersonas.Show();//abriendo el formulario

private void mantenimientoSalidasToolStripMenuItem_Click(object sender,


EventArgs e)
{
//instanciando el formulario
FrmSalida FrmSalida = new FrmSalida();
FrmSalida.MdiParent = this;
FrmSalida.Show();//abriendo el formulario

private void mantenimientoBarcosToolStripMenuItem_Click(object sender,


EventArgs e)
{
//instanciando el formulario
FrmBarco FrmBarco = new FrmBarco();
FrmBarco.MdiParent = this;
FrmBarco.Show();//abriendo el formulario

private void reporteDePersonalToolStripMenuItem_Click(object sender,


EventArgs e)
{
Filtro_Persona_Reporte Filtros = new Filtro_Persona_Reporte();
Filtros.Show();
this.Hide();
}

private void buscarToolStripMenuItem_Click(object sender, EventArgs e)


{
//instanciando el formulario
FrmBuscarPersonas FrmBuscarPersonas = new FrmBuscarPersonas();
FrmBuscarPersonas.MdiParent = this;
FrmBuscarPersonas.Show();//abriendo el formulario

private void mantenimientoDeDestinosToolStripMenuItem_Click(object


sender, EventArgs e)
{
//instanciando el formulario
FrmDestinos FrmDestinos = new FrmDestinos();
FrmDestinos.MdiParent = this;
FrmDestinos.Show();//abriendo el formulario
}
private void salirToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}

private void mantenimientoDeUsuariosToolStripMenuItem_Click(object


sender, EventArgs e)
{
//instanciando el formulario
FrmUsuarios Usuarios = new FrmUsuarios();
Usuarios.MdiParent = this;
Usuarios.Show();//abriendo el formulario
}

private void reporteDeSalidasToolStripMenuItem_Click(object sender,


EventArgs e)
{
Reporte_Salidas Reportesalida = new Reporte_Salidas();
Reportesalida.Show();//abriendo el formulario principal
this.Hide();//esto sirve para ocultar el formulario
}

private void reportesDeDestinosToolStripMenuItem_Click(object sender,


EventArgs e)
{
//instanciando el formulario principal
Reporte_Destinos Destinos = new Reporte_Destinos();
Destinos.Show();//abriendo el formulario principal
this.Hide();//esto sirve para ocultar el formulario
}
}
}

Codigo Ventanas Personas.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient; // Libreria necesaria para los comandos SQL Server y
la Conexion a la Base de Datos.

namespace Club_Nautico_Grupo.N._3
{
public partial class FrmPersonas : Form
{
//Establecemos nuestra cadena de conexion con el Servidor SQL Server.
SqlConnection con = new SqlConnection("Data
Source=JUANCITO\\SQLJUANCITO;Initial Catalog=CLUBNAUTICO;Integrated
Security=true;");
SqlCommand cmd;
SqlDataAdapter adapt;

//ID variable used in Updating and Deleting persona

int ID = 0;

public FrmPersonas()
{
InitializeComponent();
DisplayData();
}
private void btninsert_Click(object sender, EventArgs e)
{
//Validamos que nuestros campos de textos esten vacios, y llenamos
con los datos digitados.
if (txt_dni.Text != "" && txt_nombre.Text != "" && txt_apellido.Text
!= "" && txt_direccion.Text != "" && txt_telefono.Text != "" && txt_Sexo.Text !=
"" && txt_nacionalidad.Text != "" && txt_tipo_persona.Text != "")
{
cmd = new SqlCommand("insert into
persona(DNI,nombre,apellidos,direccion,telefono,codigo_sexo,Id_nacion,tipo_person
a)values(@DNI,@nombre,@apellidos,@direccion,@telefono,@codigo_sexo,@Id_nacion,@ti
po_persona)", con);
//abrimos nuestra conexion para pasarle los oparametros de los
campos digitados en las tablas
con.Open();
cmd.Parameters.AddWithValue("@DNI", txt_dni.Text);
cmd.Parameters.AddWithValue("@nombre", txt_nombre.Text);
cmd.Parameters.AddWithValue("@apellidos", txt_apellido.Text);
cmd.Parameters.AddWithValue("@direccion", txt_direccion.Text);
cmd.Parameters.AddWithValue("@telefono", txt_telefono.Text);
cmd.Parameters.AddWithValue("@codigo_sexo", txt_Sexo.Text);
cmd.Parameters.AddWithValue("@id_nacion", txt_nacionalidad.Text);
cmd.Parameters.AddWithValue("@tipo_persona",
txt_tipo_persona.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Registro Creado Sactisfactoriamente!");
//DisplayData();
ClearData();
}
else
{
MessageBox.Show("No Se Guardo Correctamente, vuelva a intentar
llenando todos los campos.!");
}

}
//Display Data in DataGridView
private void DisplayData()
{
con.Open();
DataTable dt = new DataTable();
adapt = new SqlDataAdapter("select * from persona", con);
adapt.Fill(dt);
dtgv_personas.DataSource = dt;
con.Close();
}

//Clear Data
private void ClearData()
{
//txt_codigo.Text = "";
txt_dni.Text = "";
txt_nombre.Text = "";
txt_apellido.Text = "";
txt_direccion.Text = "";
txt_telefono.Text = "";
txt_Sexo.Text = "";
txt_nacionalidad.Text = "";
txt_tipo_persona.Text = "";
ID = 0;
}

private void dtgv_personas_RowHeaderMouseClick(object sender,


DataGridViewCellMouseEventArgs e)
{

private void Inabilitar_Botones()


{
txt_codigo.Enabled = false;
txt_dni.Enabled = true;
txt_nombre.Enabled = true;
txt_apellido.Enabled = true;
txt_direccion.Enabled = true;
txt_telefono.Enabled = true;
txt_Sexo.Enabled = true;
txt_nacionalidad.Enabled = true;
txt_tipo_persona.Enabled = true;
txt_bscar.Enabled = false;

btnbuscar.Enabled = false;
btndelete.Enabled = false;
btnupdate.Enabled = false;
btn_nuevo.Enabled = false;
btn_reporte.Enabled = false;

ID = 0;
}

private void FrmPersonas_Load(object sender, EventArgs e)


{
//Desabilitamos las Cajas de Textos y llamamos el DataGridView

txt_codigo.Enabled = false;
txt_dni.Enabled = false;
txt_nombre.Enabled = false;
txt_apellido.Enabled = false;
txt_direccion.Enabled = false;
txt_telefono.Enabled = false;
txt_Sexo.Enabled = false;
txt_nacionalidad.Enabled = false;
txt_tipo_persona.Enabled = false;
txt_bscar.Enabled = false;
ID = 0;
}

private void dtgv_personas_RowHeaderMouseClick_2(object sender,


DataGridViewCellMouseEventArgs e)
{
ID =
Convert.ToInt32(dtgv_personas.Rows[e.RowIndex].Cells[0].Value.ToString());
//Txt_codigo.Text =
dtgv_personas.Rows[e.RowIndex].Cells[2].Value.ToString();
txt_dni.Text =
dtgv_personas.Rows[e.RowIndex].Cells[1].Value.ToString();
txt_nombre.Text =
dtgv_personas.Rows[e.RowIndex].Cells[2].Value.ToString();
txt_apellido.Text =
dtgv_personas.Rows[e.RowIndex].Cells[3].Value.ToString();
txt_direccion.Text =
dtgv_personas.Rows[e.RowIndex].Cells[4].Value.ToString();
txt_telefono.Text =
dtgv_personas.Rows[e.RowIndex].Cells[5].Value.ToString();
txt_Sexo.Text =
dtgv_personas.Rows[e.RowIndex].Cells[6].Value.ToString();
txt_nacionalidad.Text =
dtgv_personas.Rows[e.RowIndex].Cells[7].Value.ToString();
txt_tipo_persona.Text =
dtgv_personas.Rows[e.RowIndex].Cells[8].Value.ToString();
}

private void btnsalir_Click_1(object sender, EventArgs e)


{
Application.Exit();
}

private void btn_cancelar_Click_1(object sender, EventArgs e)


{

txt_codigo.Enabled = false;
txt_dni.Enabled = false;
txt_nombre.Enabled = false;
txt_apellido.Enabled = false;
txt_direccion.Enabled = false;
txt_telefono.Enabled = false;
txt_Sexo.Enabled = false;
txt_nacionalidad.Enabled = false;
txt_tipo_persona.Enabled = false;
txt_bscar.Enabled = true;
ID = 0;

btnbuscar.Enabled = true;
btndelete.Enabled = true;
btnupdate.Enabled = true;
btn_nuevo.Enabled = true;
btn_reporte.Enabled = true;
}

private void btn_nuevo_Click_1(object sender, EventArgs e)


{
Inabilitar_Botones();
}

// PROCEDIMIENTO PARA Actualizar registro


private void btnupdate_Click_1(object sender, EventArgs e)
{

if (txt_dni.Text != "" && txt_nombre.Text != "" && txt_apellido.Text


!= "" && txt_direccion.Text != "" && txt_telefono.Text != "" && txt_Sexo.Text !=
"" && txt_nacionalidad.Text != "" && txt_tipo_persona.Text != "")
{
cmd = new SqlCommand("update persona set
DNI=@DNI,nombre=@nombre,apellidos=@apellidos,direccion=@direccion,telefono=@telef
ono,codigo_sexo=@codigo_sexo,Id_nacion=@Id_nacion,tipo_persona=@tipo_persona
where id_persona = @id_persona", con);
con.Open();
cmd.Parameters.AddWithValue("@id_persona", ID);
cmd.Parameters.AddWithValue("@DNI", txt_dni.Text);
cmd.Parameters.AddWithValue("@nombre", txt_nombre.Text);
cmd.Parameters.AddWithValue("@apellidos", txt_apellido.Text);
cmd.Parameters.AddWithValue("@direccion", txt_direccion.Text);
cmd.Parameters.AddWithValue("@telefono", txt_telefono.Text);
cmd.Parameters.AddWithValue("@codigo_sexo", txt_Sexo.Text);
cmd.Parameters.AddWithValue("@id_nacion", txt_nacionalidad.Text);
cmd.Parameters.AddWithValue("@tipo_persona",
txt_tipo_persona.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Registro Actualizado con éxito");
con.Close();
DisplayData();
ClearData();

}
else
{
MessageBox.Show("Por favor Seleccione Registro que se va
Actualizar");
}
}

// Eliminar registro
private void btndelete_Click(object sender, EventArgs e)
{
if (ID != 0)
{
cmd = new SqlCommand("delete persona where
id_persona=@id_persona", con);
con.Open();
cmd.Parameters.AddWithValue("@id_persona", ID);

if (MessageBox.Show("Estas seguro de eliminar este registro ?",


"Eliminar registro", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
MessageBox.Show("Registro Borrado Correctamente!");
cmd.ExecuteNonQuery();
con.Close();
}

else

{
MessageBox.Show("El Registro no se ha borrado!");

con.Close();
}

DisplayData();
ClearData();
}
else
{
MessageBox.Show("Por favor Seleccione un Registro para Borrar");
cmd.ExecuteNonQuery();
con.Close();
}
}

/// <summary>
/// ////
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>

private void button1_Click(object sender, EventArgs e)


{

private void btn_reporte_Click(object sender, EventArgs e)


{
Ver_Personas ReporteImpreso = new Ver_Personas();
ReporteImpreso.Show();
this.Hide();
}

private void button1_Click_1(object sender, EventArgs e)


{
Filtro_Persona_Reporte Filtros = new Filtro_Persona_Reporte();
Filtros.Show();
this.Hide();
}

// Procedimiento para Buscar Registros y cargarlos a las cajas de textos.

private void btnbuscar_Click(object sender, EventArgs e)


{
string cadsql = "select * from persona where id_persona = '" +
txt_bscar.Text + "' ";
SqlCommand comando = new SqlCommand(cadsql, con);
con.Open();

SqlDataReader leer = comando.ExecuteReader();


if (leer.Read() == true)
{
txt_codigo.Text = leer["id_persona"].ToString();
txt_dni.Text = leer["DNI"].ToString();
txt_nombre.Text = leer["nombre"].ToString();
txt_apellido.Text = leer["apellidos"].ToString();
txt_direccion.Text = leer["direccion"].ToString();
txt_telefono.Text = leer["telefono"].ToString();
txt_Sexo.Text = leer["codigo_sexo"].ToString();
txt_nacionalidad.Text = leer["Id_nacion"].ToString();
txt_tipo_persona.Text = leer["tipo_persona"].ToString();
}
else
{
MessageBox.Show("No se ha encontrado el registro buscado!");

txt_codigo.Text = "";
txt_dni.Text = "";
txt_nombre.Text = "";
txt_apellido.Text = "";
txt_direccion.Text = "";
txt_telefono.Text = "";
txt_Sexo.Text = "";
txt_nacionalidad.Text = "";
txt_tipo_persona.Text = "";
}
con.Close();
}

private void btn_Regresar_Click(object sender, EventArgs e)


{

//instanciando el formulario principal


FrmPrincipal frmPrincipal = new FrmPrincipal();
frmPrincipal.Show();//abriendo el formulario principal
this.Hide();//esto sirve para ocultar el formulario de login
}
}
}

Ventana Reportes de Personas de Interés:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using CrystalDecisions.CrystalReports.Engine;

namespace Club_Nautico_Grupo.N._3
{
public partial class Filtro_Persona_Reporte : Form
{
ReportDocument cryRpt = new ReportDocument();

public Filtro_Persona_Reporte()
{
InitializeComponent();
}

private void btn_ver_Click(object sender, EventArgs e)


{
SqlConnection con = new SqlConnection("Data
Source=JUANCITO\\SQLJUANCITO;Initial Catalog=CLUBNAUTICO;Integrated
Security=true;");

SqlDataAdapter sda = new SqlDataAdapter ("select * from persona where


id_persona = '" + txt_buscar.Text + "'", con);

DataSet dst = new DataSet();

sda.Fill(dst,"persona");

cryRpt.Load(@"C:\Users\raul\Desktop\Club_Nautico_Grupo.N.3\Club_Nautico_Grupo.N.3
\Reportes Varios\Filtro_personas_Tipo.rpt");

cryRpt.SetDataSource(dst);

crystalReportViewer1.ReportSource = cryRpt;

crystalReportViewer1.Refresh();

private void btn_salir_Click(object sender, EventArgs e)


{
Application.Exit();
}

private void btn_regresar_Click(object sender, EventArgs e)


{
//instanciando el formulario
FrmPersonas FrmPersonas = new FrmPersonas();
FrmPersonas.Show();//abriendo el formulario
this.Hide();//esto sirve para ocultar el formulario
}

private void btn_todo_Click(object sender, EventArgs e)


{
SqlConnection con = new SqlConnection("Data
Source=JUANCITO\\SQLJUANCITO;Initial Catalog=CLUBNAUTICO;Integrated
Security=true;");

SqlDataAdapter sda = new SqlDataAdapter("select * from persona ",


con);

DataSet dst = new DataSet();

sda.Fill(dst, "persona");
cryRpt.Load(@"C:\Users\raul\Desktop\Club_Nautico_Grupo.N.3\Club_Nautico_Grupo.N.3
\Reportes Varios\Filtro_personas_Tipo.rpt");

cryRpt.SetDataSource(dst);

crystalReportViewer1.ReportSource = cryRpt;

crystalReportViewer1.Refresh();
}

private void btn_x_nombre_Click(object sender, EventArgs e)


{
SqlConnection con = new SqlConnection("Data
Source=JUANCITO\\SQLJUANCITO;Initial Catalog=CLUBNAUTICO;Integrated
Security=true;");

SqlDataAdapter sda = new SqlDataAdapter("select * from persona where


nombre = '" + txt_buscar_nombre.Text + "'", con);

DataSet dst = new DataSet();

sda.Fill(dst, "persona");

cryRpt.Load(@"C:\Users\raul\Desktop\Club_Nautico_Grupo.N.3\Club_Nautico_Grupo.N.3
\Reportes Varios\Filtro_personas_Tipo.rpt");

cryRpt.SetDataSource(dst);

crystalReportViewer1.ReportSource = cryRpt;

crystalReportViewer1.Refresh();
}
}
}

Ventana Barco:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Club_Nautico_Grupo.N._3
{
public partial class FrmBarco : Form
{
SqlCommand sCommand;
SqlDataAdapter sAdapter;
SqlCommandBuilder sBuilder;
DataSet sDs;
DataTable sTable;
//int ID = 0;

public FrmBarco()
{
InitializeComponent();
}

private void btn_Regresar_Click(object sender, EventArgs e)


{
//instanciando el formulario principal
FrmPrincipal frmPrincipal = new FrmPrincipal();
frmPrincipal.Show();//abriendo el formulario principal
this.Hide();//esto sirve para ocultar el formulario
}

private void btnsalir_Click(object sender, EventArgs e)


{
Application.Exit();
}

private void btn_nuevo_Click(object sender, EventArgs e)


{
dtgv_Barcos.ReadOnly = true;
btn_save.Enabled = true;
btndelete.Enabled = false;
btn_buscar.Enabled = true;
btn_cancelar.Enabled = false;
btn_Regresar.Enabled = false;
}

private void btn_load_Click(object sender, EventArgs e)


{
string connectionString = "Data Source=JUANCITO\\SQLJUANCITO;Initial
Catalog=CLUBNAUTICO;Integrated Security=True";
string sql = "SELECT * FROM Barco";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
sCommand = new SqlCommand(sql, connection);
sAdapter = new SqlDataAdapter(sCommand);
sBuilder = new SqlCommandBuilder(sAdapter);
sDs = new DataSet();
sAdapter.Fill(sDs, "Barco");
sTable = sDs.Tables["Barco"];
connection.Close();
dtgv_Barcos.DataSource = sDs.Tables["Barco"];
dtgv_Barcos.ReadOnly = true;
btn_save.Enabled = false;
dtgv_Barcos.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
}

private void btn_save_Click(object sender, EventArgs e)


{
sAdapter.Update(sTable);
MessageBox.Show("Registro Creado Sactisfactoriamente!");
dtgv_Barcos.ReadOnly = true;
btn_save.Enabled = false;
btndelete.Enabled = true;
}

private void btndelete_Click(object sender, EventArgs e)


{
if (MessageBox.Show("Estas seguro que quieres Eliminar el Registro
?", "Delete", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
dtgv_Barcos.Rows.RemoveAt(dtgv_Barcos.SelectedRows[0].Index);
sAdapter.Update(sTable);
}
}

private void btninsert_Click(object sender, EventArgs e)


{
dtgv_Barcos.ReadOnly = false;
btn_save.Enabled = true;
btndelete.Enabled = false;
}

private void btnupdate_Click(object sender, EventArgs e)


{
sAdapter.Update(sTable);
dtgv_Barcos.ReadOnly = true;
btn_save.Enabled = true;
btndelete.Enabled = false;
btn_buscar.Enabled = false;
btn_cancelar.Enabled = false;
btn_Regresar.Enabled = false;
btnupdate.Enabled = false;

private void btnbuscar_Click(object sender, EventArgs e)


{

//Establecemos nuestra cadena de conexion con el Servidor SQL Server.


SqlConnection con = new SqlConnection("Data
Source=JUANCITO\\SQLJUANCITO;Initial Catalog=CLUBNAUTICO;Integrated
Security=true;");

//ID variable used in Updating and Deleting persona

//ID = 0;
string cadsql = "select * from Barco where id_barco = '" +
txt_bscar.Text + "' ";
SqlCommand comando = new SqlCommand(cadsql, con);
con.Open();

SqlDataReader leer = comando.ExecuteReader();


if (leer.Read() == true)
{
txt_Id_Barco.Text = leer["id_barco"].ToString();
txt_Nombre_Barco.Text = leer["nombre"].ToString();
txt_n_Amarre.Text = leer["N_amarre"].ToString();
txt_capitan.Text = leer["cuota"].ToString();
txt_destino.Text = leer["id_destino"].ToString();
txt_bscar.Text = leer["id_persona"].ToString();

}
else
{
MessageBox.Show("No se ha encontrado el registro buscado!");

txt_Id_Barco.Text = "";
txt_Nombre_Barco.Text = "";
txt_n_Amarre.Text = "";
txt_destino.Text = ""; ;
txt_capitan.Text = "";
txt_bscar.Text = "";
//ID = 0;

}
con.Close();
}
}
}

Ventana Destinos
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Club_Nautico_Grupo.N._3
{
public partial class FrmDestinos : Form
{
//Establecemos nuestra cadena de conexion con el Servidor SQL Server.
SqlConnection con = new SqlConnection("Data
Source=JUANCITO\\SQLJUANCITO;Initial Catalog=CLUBNAUTICO;Integrated
Security=true;");
SqlCommand cmd;
SqlDataAdapter adapt;

//ID variable used in Updating and Deleting persona

int ID = 0;
public FrmDestinos()
{
InitializeComponent();
DisplayData();
}
private void Inabilitar_Botones()
{
//txtcodigo_Destino.Enabled = false;
//txt_Destino.Enabled = false;
//btnupdate.Enabled = false;
//btn_cancelar.Enabled = true;
//btninsert.Enabled = true;
//btndelete.Enabled = true;
//btnsalir.Enabled = true;
//ID = 0;
}

//Display Data in DataGridView +


private void DisplayData()
{
con.Open();
DataTable dt = new DataTable();
adapt = new SqlDataAdapter("select * from destino", con);
adapt.Fill(dt);
Dtgv_Destinos.DataSource = dt;
con.Close();
}

//Clear Data
private void ClearData()
{
txtcodigo_Destino.Enabled = false;
txt_Destino.Enabled = false;
btnupdate.Enabled = false;
btn_cancelar.Enabled = false;
btninsert.Enabled = false;
btndelete.Enabled = false;
btnsalir.Enabled = true;
ID = 0;
}

private void btn_nuevo_Click(object sender, EventArgs e)


{
//txtcodigo_Destino.Enabled = false;
//txt_Destino.Enabled = true;
//btnupdate.Enabled = false;
//btn_cancelar.Enabled = true;
//btninsert.Enabled = true;
//btndelete.Enabled = false;
//btn_cancelar.Enabled = true;
//btnsalir.Enabled = true;
//btn_nuevo.Enabled = false;
//ID = 0;

}
private void FrmDestinos_Load(object sender, EventArgs e)
{
Inabilitar_Botones();
SetFontAndColors();

private void btninsert_Click(object sender, EventArgs e)


{
//Validamos que nuestros campos de textos esten vacios, y llenamos
con los datos digitados.
if (txt_Destino.Text != "" )
{
cmd = new SqlCommand("insert into
destino(Nombre_destino)values(@Nombre_destino)", con);
//abrimos nuestra conexion para pasarle los oparametros de los
campos digitados en las tablas
con.Open();
cmd.Parameters.AddWithValue("@Nombre_destino", txt_Destino.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Registro Creado Sactisfactoriamente!");
//DisplayData();
ClearData();
}
else
{
MessageBox.Show("No Se Guardo Correctamente, vuelva a intentar
llenando todos los campos.!");
}
}

private void btnsalir_Click(object sender, EventArgs e)


{
Application.Exit();
}

private void button2_Click(object sender, EventArgs e)


{
//instanciando el formulario principal
FrmPrincipal frmPrincipal = new FrmPrincipal();
frmPrincipal.Show();//abriendo el formulario principal
this.Hide();//esto sirve para ocultar el formulario
}

private void Dtgv_Destinos_RowHeaderMouseClick(object sender,


DataGridViewCellMouseEventArgs e)
{

ID =
Convert.ToInt32(Dtgv_Destinos.Rows[e.RowIndex].Cells[0].Value.ToString());
//txtcodigo_Destino.Text =
Dtgv_Destinos.Rows[e.RowIndex].Cells[0].Value.ToString();
txt_Destino.Text =
Dtgv_Destinos.Rows[e.RowIndex].Cells[1].Value.ToString();

private void SetFontAndColors()


{
Dtgv_Destinos.Columns["Id_destino"].HeaderText = "Codigo de Destino";
Dtgv_Destinos.Columns["Nombre_destino"].HeaderText = "Nombre Pais de
Destino";
Dtgv_Destinos.Columns["Id_destino"].Width = 100;
Dtgv_Destinos.Columns["Nombre_destino"].Width = 180;

this.Dtgv_Destinos.DefaultCellStyle.Font = new Font("Tahoma", 11);


this.Dtgv_Destinos.DefaultCellStyle.ForeColor = Color.Blue;
this.Dtgv_Destinos.DefaultCellStyle.BackColor = Color.Beige;
this.Dtgv_Destinos.DefaultCellStyle.SelectionForeColor =
Color.Yellow;
this.Dtgv_Destinos.DefaultCellStyle.SelectionBackColor = Color.Black;
}

private void btndelete_Click(object sender, EventArgs e)


{
if (ID != 0)
{
cmd = new SqlCommand("delete destino where
Id_destino=@Id_destino", con);
con.Open();
cmd.Parameters.AddWithValue("@Id_destino", ID);

if (MessageBox.Show("Estas seguro de eliminar este registro ?",


"Eliminar registro", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
MessageBox.Show("Registro Borrado Correctamente!");
cmd.ExecuteNonQuery();
con.Close();
}

else

{
MessageBox.Show("El Registro no se ha borrado!");

con.Close();
}

DisplayData();
ClearData();
}
else
{
MessageBox.Show("Por favor Seleccione un Registro para Borrar");
cmd.ExecuteNonQuery();
con.Close();
}
}

private void btnupdate_Click(object sender, EventArgs e)


{

if (txt_Destino.Text != "" )
{

cmd = new SqlCommand("update destino set


Nombre_destino=@Nombre_destino where Id_destino = @Id_destino", con);
//abrimos nuestra conexion para pasarle los oparametros de los
campos digitados en las tablas
con.Open();
cmd.Parameters.AddWithValue("@Id_destino", ID);
cmd.Parameters.AddWithValue("@Nombre_destino", txt_Destino.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Registro Actualizado con éxito");
con.Close();
DisplayData();
ClearData();

}
else
{
MessageBox.Show("Por favor Seleccione Registro que se va
Actualizar");
}
}

private void Btn_Buscar_Click(object sender, EventArgs e)


{

string cadsql = "select * from destino where Id_destino = '" +


txt_buscar.Text + "' ";
SqlCommand comando = new SqlCommand(cadsql, con);
con.Open();

SqlDataReader leer = comando.ExecuteReader();


if (leer.Read() == true)
{
txtcodigo_Destino.Text = leer["Id_destino"].ToString();
txt_Destino.Text = leer["Nombre_destino"].ToString();

}
else
{
MessageBox.Show("No se ha encontrado el registro buscado!");

txtcodigo_Destino.Text = "";
txt_Destino.Text = "";

ID = 0;

}
con.Close();
}

private void button1_Click(object sender, EventArgs e)


{

//instanciando el formulario principal


Reporte_Destinos Destinos = new Reporte_Destinos();
Destinos.Show();//abriendo el formulario principal
this.Hide();//esto sirve para ocultar el formulario
}
}
}

Reportes de Destinos:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using CrystalDecisions.CrystalReports.Engine;

namespace Club_Nautico_Grupo.N._3
{
public partial class Reporte_Salidas : Form
{
SqlConnection con = new SqlConnection("Data
Source=JUANCITO\\SQLJUANCITO;Initial Catalog=CLUBNAUTICO;Integrated
Security=true;");
ReportDocument cryRpt = new ReportDocument();

public Reporte_Salidas()
{
InitializeComponent();
}

private void Btn_Buscar_Fecha_Click(object sender, EventArgs e)


{
SqlConnection con = new SqlConnection("Data
Source=JUANCITO\\SQLJUANCITO;Initial Catalog=CLUBNAUTICO;Integrated
Security=true;");

// SqlDataAdapter sda = new SqlDataAdapter("select * from salida where


fecha_hora_salida = '" + Dtp_Fecha.Value.ToShortDateString() + "'", con);
SqlDataAdapter sda = new SqlDataAdapter("select * from salida where
fecha_hora_salida = '" + txt_Fecha.Text + "'", con);
DataSet dst = new DataSet();

sda.Fill(dst, "salida");
cryRpt.Load(@"C:\Users\raul\Desktop\Club_Nautico_Grupo.N.3\Club_Nautico_Grupo.N.3
\Reportes Varios\Reporte_Salidas.rpt");

cryRpt.SetDataSource(dst);

crystalReportViewer1.ReportSource = cryRpt;

crystalReportViewer1.Refresh();

private void Btn_Buscar_Destino_Click(object sender, EventArgs e)


{

SqlConnection con = new SqlConnection("Data


Source=JUANCITO\\SQLJUANCITO;Initial Catalog=CLUBNAUTICO;Integrated
Security=true;");

SqlDataAdapter sda = new SqlDataAdapter("select * from destino where


Id_destino = '" + txt_Destino.Text + "'", con);

DataSet dst = new DataSet();

sda.Fill(dst, "destino");

cryRpt.Load(@"C:\Users\raul\Desktop\Club_Nautico_Grupo.N.3\Club_Nautico_Grupo.N.3
\Reportes Varios\Reporte_Salidas.rpt");

cryRpt.SetDataSource(dst);

crystalReportViewer1.ReportSource = cryRpt;

crystalReportViewer1.Refresh();
}

private void Bnt_Regresar_Click(object sender, EventArgs e)


{ //instanciando el formulario
FrmSalida Salidas = new FrmSalida();
Salidas.Show();//abriendo el formulario
this.Hide();//esto sirve para ocultar el formulario

private void Bnt_Salir_Click(object sender, EventArgs e)


{
Application.Exit();

private void Btn_BUscar_Capitan_Click(object sender, EventArgs e)


{
SqlConnection con = new SqlConnection("Data
Source=JUANCITO\\SQLJUANCITO;Initial Catalog=CLUBNAUTICO;Integrated
Security=true;");

SqlDataAdapter sda = new SqlDataAdapter("select * from tipo_persona


where id_tipo_persona = '" + txt_Capitan.Text + "'", con);
DataSet dst = new DataSet();

sda.Fill(dst, "tipo_persona");

cryRpt.Load(@"C:\Users\raul\Desktop\Club_Nautico_Grupo.N.3\Club_Nautico_Grupo.N.3
\Reportes Varios\Reporte_Salidas.rpt");

cryRpt.SetDataSource(dst);

crystalReportViewer1.ReportSource = cryRpt;

crystalReportViewer1.Refresh();

private void button1_Click(object sender, EventArgs e)


{
SqlConnection con = new SqlConnection("Data
Source=JUANCITO\\SQLJUANCITO;Initial Catalog=CLUBNAUTICO;Integrated
Security=true;");

SqlDataAdapter sda = new SqlDataAdapter("select * from Barco where


nombre = '" + txt_Barco.Text + "'", con);

DataSet dst = new DataSet();

sda.Fill(dst, "Barco");

cryRpt.Load(@"C:\Users\raul\Desktop\Club_Nautico_Grupo.N.3\Club_Nautico_Grupo.N.3
\Reportes Varios\Reporte_Salidas.rpt");

cryRpt.SetDataSource(dst);

crystalReportViewer1.ReportSource = cryRpt;

crystalReportViewer1.Refresh();

}
}
}

Ventana Salidas
Codigo
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient; // Libreria necesaria para los comandos SQL Server y
la Conexion a la Base de Datos.

namespace Club_Nautico_Grupo.N._3
{
public partial class FrmSalida : Form
{
//Establecemos nuestra cadena de conexion con el Servidor SQL Server.
SqlConnection con = new SqlConnection("Data
Source=JUANCITO\\SQLJUANCITO;Initial Catalog=CLUBNAUTICO;Integrated
Security=true;");
SqlCommand cmd;
SqlDataAdapter adapt;

//ID variable used in Updating and Deleting persona

int ID = 0;

public FrmSalida()
{
InitializeComponent();
DisplayData();
}

private void btn_nuevo_Click(object sender, EventArgs e)


{
txtId_Barco.Enabled = false;
txt_Matricula.Enabled = true;
Dtp_Fecha.Enabled = true;
txt_destino.Enabled = true;
txt_persona.Enabled = true;
txt_bscar.Enabled = false;

btnbuscar.Enabled = false;
btndelete.Enabled = false;
btnupdate.Enabled = false;
btn_nuevo.Enabled = false;

ID = 0;
}

private void Inabilitar_Botones()


{
txtId_Barco.Enabled = false;
txt_Matricula.Enabled = true;
Dtp_Fecha.Enabled = true;
txt_destino.Enabled = true;
txt_persona.Enabled = true;
txt_bscar.Enabled = false;

btnbuscar.Enabled = false;
btndelete.Enabled = false;
btnupdate.Enabled = false;
btn_nuevo.Enabled = false;

ID = 0;
}

private void btninsert_Click(object sender, EventArgs e)


{
//Validamos que nuestros campos de textos esten vacios, y llenamos
con los datos digitados.
if (txt_Matricula.Text != "" && Dtp_Fecha.Text != "" &&
txt_destino.Text != "" && txt_persona.Text != "")
{
cmd = new SqlCommand("insert into
salida(N_matricula,fecha_hora_salida,id_persona,id_destino)values(@N_matricula,
@fecha_hora_salida,@id_persona,@id_destino)", con);
//abrimos nuestra conexion para pasarle los oparametros de los
campos digitados en las tablas
con.Open();
cmd.Parameters.AddWithValue("@N_matricula", txt_Matricula.Text);
cmd.Parameters.AddWithValue("@fecha_hora_salida",
Dtp_Fecha.Text);
cmd.Parameters.AddWithValue("@id_destino", txt_destino.Text);
cmd.Parameters.AddWithValue("@id_persona", txt_persona.Text);

cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Registro Creado Sactisfactoriamente!");
//DisplayData();
ClearData();
}
else
{
MessageBox.Show("No Se Guardo Correctamente, vuelva a intentar
llenando todos los campos.!");
}
}

//Display Data in DataGridView


private void DisplayData()
{
con.Open();
DataTable dt = new DataTable();
adapt = new SqlDataAdapter("select * from salida", con);
adapt.Fill(dt);
dtgv_salidas.DataSource = dt;
con.Close();
}

//Clear Data
private void ClearData()
{
txtId_Barco.Enabled = false;
txt_Matricula.Enabled = true;
Dtp_Fecha.Enabled = true;
txt_destino.Enabled = true;
txt_persona.Enabled = true;
txt_bscar.Enabled = false;
ID = 0;
}

private void btnsalir_Click(object sender, EventArgs e)


{
Application.Exit();
}

private void button2_Click(object sender, EventArgs e)


{
//instanciando el formulario principal
FrmPrincipal frmPrincipal = new FrmPrincipal();
frmPrincipal.Show();//abriendo el formulario principal
this.Hide();//esto sirve para ocultar el formulario
}

private void dtgv_salidas_ColumnHeaderMouseClick_1(object sender,


DataGridViewCellMouseEventArgs e)
{
}

private void dtgv_salidas_RowHeaderMouseClick(object sender,


DataGridViewCellMouseEventArgs e)
{
//txtId_Barco.Text =
dtgv_salidas.Rows[e.RowIndex].Cells[0].Value.ToString();
ID =
Convert.ToInt32(dtgv_salidas.Rows[e.RowIndex].Cells[0].Value.ToString());
txt_Matricula.Text =
dtgv_salidas.Rows[e.RowIndex].Cells[1].Value.ToString();
Dtp_Fecha.Text =
dtgv_salidas.Rows[e.RowIndex].Cells[2].Value.ToString();
txt_persona.Text =
dtgv_salidas.Rows[e.RowIndex].Cells[3].Value.ToString();
txt_destino.Text =
dtgv_salidas.Rows[e.RowIndex].Cells[4].Value.ToString();

}
private void btndelete_Click(object sender, EventArgs e)
{

if (ID != 0)
{
cmd = new SqlCommand("delete salida where id_salida=@id_salida",
con);
con.Open();
cmd.Parameters.AddWithValue("@id_salida", ID);

if (MessageBox.Show("Estas seguro de eliminar este registro ?",


"Eliminar registro", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
MessageBox.Show("Registro Borrado Correctamente!");
cmd.ExecuteNonQuery();
con.Close();
}

else

{
MessageBox.Show("El Registro no se ha borrado!");

con.Close();
}

DisplayData();
ClearData();
}
else
{
MessageBox.Show("Por favor Seleccione un Registro para Borrar");
cmd.ExecuteNonQuery();
con.Close();
}
}

private void btnbuscar_Click(object sender, EventArgs e)


{

string cadsql = "select * from salida where id_salida = '" +


txt_bscar.Text + "' ";
SqlCommand comando = new SqlCommand(cadsql, con);
con.Open();

SqlDataReader leer = comando.ExecuteReader();


if (leer.Read() == true)
{
txtId_Barco.Text = leer["id_salida"].ToString();
txt_Matricula.Text = leer["N_matricula"].ToString();
Dtp_Fecha.Text = leer["fecha_hora_salida"].ToString();
txt_persona.Text = leer["id_persona"].ToString();
txt_destino.Text = leer["id_destino"].ToString();
txt_bscar.Text = leer["id_salida"].ToString();

}
else
{
MessageBox.Show("No se ha encontrado el registro buscado!");

txtId_Barco.Text = "";
txt_Matricula.Text = "";
Dtp_Fecha.Text = "";
txt_destino.Text = ""; ;
txt_persona.Text = "";
txt_bscar.Text = "";
ID = 0;

}
con.Close();
}

private void btn_cancelar_Click(object sender, EventArgs e)


{
txt_Matricula.Enabled = false;
Dtp_Fecha.Enabled = false;
txt_destino.Enabled = false;
txt_persona.Enabled = false;
txt_bscar.Enabled = true;

btnbuscar.Enabled = true;
btndelete.Enabled = false;
btnupdate.Enabled = false;
btn_nuevo.Enabled = true;

ID = 0;
}

private void btnupdate_Click(object sender, EventArgs e)


{

if (txt_Matricula.Text != "" && Dtp_Fecha.Text != "" &&


txt_destino.Text != "" && txt_persona.Text != "")
{

cmd = new SqlCommand("update salida set


N_matricula=@N_matricula,fecha_hora_salida=@fecha_hora_salida,Id_persona=@Id_pers
ona,id_destino=@id_destino where id_salida = @id_salida", con);

//abrimos nuestra conexion para pasarle los oparametros de los


campos digitados en las tablas
con.Open();
cmd.Parameters.AddWithValue("@id_salida", ID);
cmd.Parameters.AddWithValue("@N_matricula", txt_Matricula.Text);
cmd.Parameters.AddWithValue("@fecha_hora_salida",
Dtp_Fecha.Text.ToString());
cmd.Parameters.AddWithValue("@id_persona", txt_persona.Text);
cmd.Parameters.AddWithValue("@id_destino", txt_destino.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Registro Actualizado con éxito");
con.Close();
DisplayData();
ClearData();

}
else
{
MessageBox.Show("Por favor Seleccione Registro que se va
Actualizar");
}
}

private void button1_Click(object sender, EventArgs e)


{
//instanciando el formulario
FrmBuscarSalidas frmbuscar = new FrmBuscarSalidas();

frmbuscar.Show();//abriendo el formulario
}

private void button3_Click(object sender, EventArgs e)


{

Reporte_Salidas Reportesalida = new Reporte_Salidas();


Reportesalida.Show();//abriendo el formulario principal
this.Hide();//esto sirve para ocultar el formulario
}
}
}

Reporte Salidas
Codigo:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using CrystalDecisions.CrystalReports.Engine;

namespace Club_Nautico_Grupo.N._3
{
public partial class Reporte_Destinos : Form
{
ReportDocument cryRpt = new ReportDocument();
public Reporte_Destinos()
{
InitializeComponent();
}

private void Btn_Ver_Click(object sender, EventArgs e)


{
SqlConnection con = new SqlConnection("Data
Source=JUANCITO\\SQLJUANCITO;Initial Catalog=CLUBNAUTICO;Integrated
Security=true;");

SqlDataAdapter sda = new SqlDataAdapter("select * from destino ",


con);

DataSet dst = new DataSet();

sda.Fill(dst, "destino");

cryRpt.Load(@"C:\Users\raul\Desktop\Club_Nautico_Grupo.N.3\Club_Nautico_Grupo.N.3
\Reportes Varios\Reporte_Destinos.rpt");
cryRpt.SetDataSource(dst);
crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
}

private void Btn_Salir_Click(object sender, EventArgs e)


{
Application.Exit();

private void Btn_Regresar_Click(object sender, EventArgs e)


{
//instanciando el formulario
FrmDestinos Destinos = new FrmDestinos();
Destinos.Show();//abriendo el formulario
this.Hide();//esto sirve para ocultar el formulario
}
}
}

Carpeta donde se guardan los Reportes:

S-ar putea să vă placă și