Vous êtes sur la page 1sur 26

UNMSM EAP Ingeniera Industrial 2013

1


Especificaciones del proyecto BDFACTII
1. FORMULARIO LOGIN:
Formulario para acceder al sistema, los usuarios estn registrados dentro del
sistema.
Para eso se han creado 2 usuarios declarados dentro del formulario:
Usuario: maria password: 1234.
Usuario: carol password: 1234.
Se ha codificado para aceptar solo 3 intentos fallidos, una vez hecho los 3 intentos el
sistema mostrara un mensaje de error y cerrara el formulario.







Codificacin:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;

namespace ProyectoFII
{
public partial class Frmacceso : Form

{
public int intentos=3; //variable publica
public Frmacceso()
{ InitializeComponent(); }

private void Frmacceso_Load(object sender, EventArgs e)
{ txtusuario.Focus(); }

private void btnConectar_Click(object sender, EventArgs e)
{
if ((txtusuario.TextLength == 0) || (txtpass.TextLength == 0))
MessageBox.Show("Ingrese Datos ","Mensaje");
UNMSM EAP Ingeniera Industrial 2013

2


else
conectar();
}

public void conectar() {
//declaramos variables
String usuario = txtusuario.Text;
String pass = txtpass.Text;
if (usuario.Equals("maria") && pass.Equals("1234") ||
(usuario.Equals("carol") && pass.Equals("1234")))
{

MessageBox.Show("Bienvenido al Sistema " + (usuario).ToUpper());
this.Hide();
//declaramos un objeto tipo formulario
Frmprincipal ofprinc = new Frmprincipal();
ofprinc.Show();
ofprinc.lblusuario.Text = txtusuario.Text.ToUpper();
}
else
{
intentos = intentos - 1;
MessageBox.Show("le quedan " + intentos + " intentos");
txtusuario.Clear();
txtusuario.Focus();
txtpass.Clear();

if (intentos == 0)
{
MessageBox.Show("Muchos intentos consulte con el Administrador",
"Mensaje");
this.Close();
Application.Exit();
}
}
}
private void btnsalir_Click(object sender, EventArgs e)
{ salir(); }

public void salir()
{
DialogResult res = MessageBox.Show("Desea Salir de la Aplicacion", "Mensaje
de Confirmacion",MessageBoxButtons .YesNo);
if (res == DialogResult.Yes)
Application.Exit();
else
MessageBox.Show("Usted Cancelo la operacion", "Mensaje");
} private void txtusuario_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToChar(Keys.Enter))
{ txtpass.Focus(); }
}
}
}
UNMSM EAP Ingeniera Industrial 2013

3



2. FORMULARIO PRINCIPAL:
Es un formulario de tipo MDIcontainer en la cual los dems formularios van a estar
dentro de l ,y tambin se encuentra el men para navegar en los formularios.
















Codificacin:
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;

namespace ProyectoFII
{
public partial class Frmprincipal : Form
{
public Frmprincipal()
{
InitializeComponent();
}
UNMSM EAP Ingeniera Industrial 2013

4


private void salirToolStripMenuItem_Click(object sender, EventArgs e)
{
salir();
}
public void salir()
{
DialogResult res = MessageBox.Show("Desea Salir de la Aplicacion", "Mensaje
de Confirmacion", MessageBoxButtons.YesNo);
if (res == DialogResult.Yes)
Application.Exit();
else
MessageBox.Show("Usted Cancelo la operacion");
}
private void modificarToolStripMenuItem_Click(object sender, EventArgs e)
{
Frmmodificar form = new Frmmodificar();
form.MdiParent = this;
form.Show();
form.lblusuario.Text = lblusuario.Text.ToUpper();
}

private void mnuregis_Click_1(object sender, EventArgs e)
{
FrmMantenimiento mant = new FrmMantenimiento();
mant.MdiParent = this;
mant.Show();
mant.lblusuario.Text = lblusuario.Text.ToUpper();
}

private void cambiarUsuarioToolStripMenuItem_Click(object sender, EventArgs e)
{
Frmacceso acc = new Frmacceso();
acc.Show();
this.Hide();
}

private void buscarToolStripMenuItem_Click(object sender, EventArgs e)
{
FrmBuscar form = new FrmBuscar();
form.MdiParent = this;
form.Show();
form.lblusuario.Text = lblusuario.Text.ToUpper();
}

private void eliminarToolStripMenuItem_Click(object sender, EventArgs e)
{
FrmEliminar form = new FrmEliminar();
form.MdiParent = this;
form.Show();
form.lblusuario.Text = lblusuario.Text.ToUpper();
}

private void consultarFechaToolStripMenuItem_Click(object sender, EventArgs e)
{
UNMSM EAP Ingeniera Industrial 2013

5


FrmConsultarfe form = new FrmConsultarfe();
form.MdiParent = this;
form.Show();
form.lblusuario.Text = lblusuario.Text.ToUpper();
}
private void consultarTipoMantenimientoToolStripMenuItem_Click(object sender,
EventArgs e)
{
FrmConsultarTipo form = new FrmConsultarTipo();
form.MdiParent = this;
form.Show();
form.lblusuario.Text = lblusuario.Text.ToUpper();
}

private void Frmprincipal_FormClosed(object sender, EventArgs e)
{
Application.Exit();
}
}
3. FORMULARIO MANTENIMIENTO
En este formulario se va a registrar un nuevo mantenimiento al presionar el botn
insertar, el botn visualizar datos es para mostrar todos los registros que existen en
nuestra base de datos. El botn comprobar es para verificar si un registro existe o
no, porque lo que hace es comparar a travs de su ID de mantenimiento.















UNMSM EAP Ingeniera Industrial 2013

6


Codificacin:
using System.Windows.Forms;
using System.Data.SqlClient;
namespace ProyectoFII
{
public partial class FrmMantenimiento : Form
{
public FrmMantenimiento()
{
InitializeComponent();
}

private SqlConnection miconex;//declarando una variable de tipo sqlconnction
String servidor;
String basededatos;

private void Form1_Load(object sender, EventArgs e)
{
servidor = "virtualpc";//aqu escribo el nombre de mi servidor
basededatos = "bdFactII";// aqu escribo el nombre de mi base de datos
Conectar(servidor, basededatos);
System.DateTime fecha = System.DateTime.Now;
mskfechamant.Text = Convert.ToString(fecha);
txtnum.Focus();
}
//creando mi procedimiento para conectarme a la base de datos
public void Conectar(String servidor, String basededatos)
{
try
{ string cnsql = "Data Source =" + servidor + ";Initial Catalog=" + basededatos +
";Integrated Security=True";
miconex = new SqlConnection(cnsql);
miconex.Open();
miconex.Close();
}
catch (SqlException ex)
{MessageBox.Show("ERROR EN LA CONEXION...");
}
}
private void btninsertar_Click(object sender, EventArgs e)
{int num = Convert.ToInt32(txtnum.Text);
Existe(num);
insertar();
}

public void insertar(){
String sqler = "insert into Mantenimiento
values(@Mantenimiento_ID,@FecProg,@FecMant,@Tipo,@Estado,@NroOt,@FecOt,@NroFac,@FecFac,@
MontoFac,@GRSalda,@GRSaldaFec,@GRDev,@GRDevFec,@ActivosFijos_ID,@Codigo)";
SqlCommand cmd = new SqlCommand(sqler, miconex);
try
{
cmd.CommandType = CommandType.Text;
UNMSM EAP Ingeniera Industrial 2013

7


cmd.Parameters.Add("@Mantenimiento_ID", SqlDbType.Int).Value = txtnum.Text;
cmd.Parameters.Add("@FecProg", SqlDbType.DateTime).Value = mskfepro.Text;
cmd.Parameters.Add("@FecMant", SqlDbType.DateTime).Value = mskfechamant.Text;
cmd.Parameters.Add("@Tipo", SqlDbType.NVarChar, 1).Value =
cbotipo.SelectedItem.ToString();
cmd.Parameters.Add("@Estado", SqlDbType.NVarChar, 2).Value =
cboest.SelectedItem.ToString();
cmd.Parameters.Add("@NroOt", SqlDbType.NVarChar, 30).Value = txtnot.Text;
cmd.Parameters.Add("@FecOt", SqlDbType.DateTime).Value = mskot.Text;
cmd.Parameters.Add("@NroFac", SqlDbType.NVarChar, 30).Value = txtnumfact.Text;
cmd.Parameters.Add("@FecFac", SqlDbType.DateTime).Value = mskfac.Text;
cmd.Parameters.Add("@MontoFac", SqlDbType.Decimal, 10).Value = txtmonto.Text;
cmd.Parameters.Add("@GRSalda", SqlDbType.NVarChar, 50).Value = txtgrsalda.Text;
cmd.Parameters.Add("@GRSaldaFec", SqlDbType.DateTime).Value = mskgr.Text;
cmd.Parameters.Add("@GRDev", SqlDbType.NVarChar, 50).Value = txtdev.Text;
cmd.Parameters.Add("@GRDevFec", SqlDbType.DateTime).Value = mskdev.Text;
cmd.Parameters.Add("@ActivosFijos_ID", SqlDbType.Int).Value = txtactivo.Text;
cmd.Parameters.Add("@Codigo", SqlDbType.NVarChar, 15).Value = txtcodigo.Text;
miconex.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("REGISTRO INSERTADO CORRECTAMENTE", "Mensaje");
miconex.Close();
cmd.Dispose();
}
catch (Exception er)
{
MessageBox.Show("NO SE PUDIERON GUARDAR LOS DATOS...", "Mensaje");
}

miconex.Close();
}
public void salir()
{
DialogResult res = MessageBox.Show("Desea Salir de la Aplicacion", "Mensaje
de Confirmacion", MessageBoxButtons.YesNo);
if (res == DialogResult.Yes)
this.Close();
else
MessageBox.Show("Usted Cancelo la operacion", "Mensaje");
}
private void btnsalir_Click(object sender, EventArgs e)
{ salir(); }
public void mostrardata()
{
String sel = "select * from Mantenimiento";
miconex.Open();
SqlDataAdapter damante = new SqlDataAdapter(sel,miconex);
DataSet dsmante = new DataSet();
damante.Fill(dsmante,"Mantenimiento");
dgvregistro.DataSource=dsmante;
dgvregistro.DataMember = "Mantenimiento";
miconex.Close();
}

UNMSM EAP Ingeniera Industrial 2013

8


private void btndata_Click(object sender, EventArgs e)
{
mostrardata();
}
private void txtnum_KeyPress(object sender, KeyPressEventArgs e)
{
///codigo para hacer que solo me acepte numeros --inicio
if (Char.IsDigit(e.KeyChar))
{ e.Handled = false; }
else if (Char.IsControl(e.KeyChar))
{ e.Handled = false; }
else if (Char.IsSeparator(e.KeyChar))
{ e.Handled = false; }
else
{ e.Handled = true; }

///////-fin-
//para ir ala siguiente caja de texto
if (e.KeyChar == Convert.ToChar(Keys.Enter))
{ mskfepro.Focus(); }

}
private void txtactivo_KeyPress(object sender, KeyPressEventArgs e)
{
if (Char.IsDigit(e.KeyChar))
{ e.Handled = false; }
else if (Char.IsControl(e.KeyChar))
{ e.Handled = false; }
else if (Char.IsSeparator(e.KeyChar))
{ e.Handled = false; }
else
{ e.Handled = true; }
if (e.KeyChar == Convert.ToChar(Keys.Enter))
{ txtcodigo.Focus(); }
}

private void button1_Click(object sender, EventArgs e)
{
if (txtnum.TextLength == 0)
{
MessageBox.Show("Ingrese codigo a comprobar", "Mensaje");
}else{
int num = Convert.ToInt32(txtnum.Text);
Existe1(num);
}
}

public void Existe(int id)
{
String query = "select count(*) from Mantenimiento where Mantenimiento_ID=@id";
SqlCommand cmd = new SqlCommand(query, miconex);
cmd.Parameters.AddWithValue("@id", id);
miconex.Open();
UNMSM EAP Ingeniera Industrial 2013

9


int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count != 0)
{ MessageBox.Show("Registro ya existe", "Mensaje"); }

miconex.Close();

}
public void Existe1(int id)
{

String query = "select count(*) from Mantenimiento where
Mantenimiento_ID=@id";
SqlCommand cmd = new SqlCommand(query, miconex);
cmd.Parameters.AddWithValue("@id", id);
miconex.Open();
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count == 0)
{ MessageBox.Show("Registro disponible", "Mensaje"); }
else
{ MessageBox.Show("Registro ya existe", "Mensaje"); }

miconex.Close();

}

private void mskfepro_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToChar(Keys.Enter))
{ cbotipo.Focus(); }
}

private void cboest_SelectedValueChanged(object sender, EventArgs e)
{ txtnot.Focus(); }

private void txtnot_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToChar(Keys.Enter))
{ mskot.Focus(); }
}
}


4. FORMULARIO MODIFICAR
En este formulario se va a modificar un registro ya existente mediante su ID, de la
cual el usuario tendr que ingresar el cdigo a modificar y mediante el botn cargar
podr cargar los datos de dicho registro, para luego modificar los datos.
Tambin tiene la opcin de seleccionar un elemento de la tabla(datagriew) y estos
datos automticamente pasan a las cajas de texto para ser modificados.
UNMSM EAP Ingeniera Industrial 2013

10

















Codificacin:
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;
namespace ProyectoFII
{
public partial class Frmmodificar : Form
{
public Frmmodificar()
{
InitializeComponent();
}
private SqlConnection miconex;
String servidor;
String basededatos;

private void Frmmodificar_Load(object sender, EventArgs e)
{
servidor = "virtualpc";
basededatos = "bdFactII";
Conectar(servidor, basededatos);
UNMSM EAP Ingeniera Industrial 2013

11



}
public void Conectar(String servidor, String basededatos)
{
try
{
string cnsql = "Data Source =" + servidor + ";Initial Catalog=" +
basededatos + ";Integrated Security=True";
miconex = new SqlConnection(cnsql);
miconex.Open();
//MessageBox.Show("conectado");
miconex.Close();
}
catch (SqlException ex)
{
MessageBox.Show("ERROR EN LA CONEXION...");
}
}

private void btnactu_Click(object sender, EventArgs e)
{
ACTUALIZAR();
}
public void ACTUALIZAR()
{

String sqler = "update Mantenimiento set
FecProg=@FecProg,FecMant=@FecMant,Tipo=@Tipo,Estado=@Estado,NroOt=@NroOt,FecOt=@FecOt,Nr
oFac=@NroFac,FecFac=@FecFac,MontoFac=@MontoFac,GRSalda=@GRSalda,GRSaldaFec=@GRSaldaFec,G
RDev=@GRDev,GRDevFec=@GRDevFec,ActivosFijos_ID=@ActivosFijos_ID,Codigo=@Codigo where
Mantenimiento_ID=@Mantenimiento_ID";
SqlCommand cmd = new SqlCommand(sqler, miconex);
try
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("@FecProg", SqlDbType.DateTime).Value = mskfepro.Text;
cmd.Parameters.Add("@FecMant", SqlDbType.DateTime).Value = mskfechamant.Text;
cmd.Parameters.Add("@Tipo", SqlDbType.NVarChar, 1).Value =
cbotipo.SelectedItem.ToString();
cmd.Parameters.Add("@Estado", SqlDbType.NVarChar, 2).Value =
cboest.SelectedItem.ToString();
cmd.Parameters.Add("@NroOt", SqlDbType.NVarChar, 30).Value =
txtnot.Text;
cmd.Parameters.Add("@FecOt", SqlDbType.DateTime).Value = mskot.Text;
cmd.Parameters.Add("@NroFac", SqlDbType.NVarChar, 30).Value =
txtnumfact.Text;
cmd.Parameters.Add("@FecFac", SqlDbType.DateTime).Value = mskfac.Text;
cmd.Parameters.Add("@MontoFac", SqlDbType.Decimal, 10).Value =
txtmonto.Text;
cmd.Parameters.Add("@GRSalda", SqlDbType.NVarChar, 50).Value =
txtgrsalda.Text;
cmd.Parameters.Add("@GRSaldaFec", SqlDbType.DateTime).Value =
mskgr.Text;
UNMSM EAP Ingeniera Industrial 2013

12


cmd.Parameters.Add("@GRDev", SqlDbType.NVarChar, 50).Value =
txtdev.Text;
cmd.Parameters.Add("@GRDevFec", SqlDbType.DateTime).Value = mskdev.Text;
cmd.Parameters.Add("@ActivosFijos_ID", SqlDbType.Int).Value =
txtactivo.Text;
cmd.Parameters.Add("@Codigo", SqlDbType.NVarChar, 15).Value =
txtcodigo.Text;
cmd.Parameters.Add("@Mantenimiento_ID", SqlDbType.Int).Value =
txtnum.Text;
miconex.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("REGISTRO ACTUALIZADO CORRECTAMENTE", "Mensaje");
miconex.Close();
cmd.Dispose();
}
catch (Exception er)
{ MessageBox.Show("ERROR EN LA CONEXION..."); }

miconex.Close();
}

private void button1_Click(object sender, EventArgs e)
{
if (txtnum.TextLength == 0)
{
MessageBox.Show("Ingrese codigo a Modificar", "Mensaje");
}
else
{
obtener();
}
}

public void mostrardata()
{
String sel = "select * from Mantenimiento";
miconex.Open();

SqlDataAdapter damante = new SqlDataAdapter(sel, miconex);
DataSet dsmante = new DataSet();

damante.Fill(dsmante, "Mantenimiento");
dgvregistro.DataSource = dsmante;
dgvregistro.DataMember = "Mantenimiento";
miconex.Close();
}

private void btndata_Click(object sender, EventArgs e)
{
mostrardata();
}
private void dgvregistro_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
carg();
UNMSM EAP Ingeniera Industrial 2013

13


}
public void carg()
{
if (dgvregistro.RowCount > 0)
{

txtnum.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[0].Value);
mskfepro.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[1].Value);
mskfechamant.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[2].Value);
cbotipo.SelectedItem = Convert.ToString(this.dgvregistro.CurrentRow.Cells[3].Value);
cboest.SelectedItem = Convert.ToString(this.dgvregistro.CurrentRow.Cells[4].Value);
txtnot.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[5].Value);
mskot.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[6].Value);
txtnumfact.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[7].Value);
mskfac.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[8].Value);
txtmonto.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[9].Value);
txtgrsalda.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[10].Value);
mskgr.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[11].Value);
txtdev.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[12].Value);
mskdev.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[13].Value);
txtactivo.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[14].Value);
txtcodigo.Text = Convert.ToString(this.dgvregistro.CurrentRow.Cells[15].Value);
}
else
{
MessageBox.Show("no existe Producto seleccionado", "Mensaje");
}
}

public void obtener()
{
String cadena = "select
Mantenimiento_ID,FecProg,FecMant,Tipo,Estado,NroOt,FecOt,NroFac,FecFac,MontoFac," +
"GRSalda,GRSaldaFec,GRDev,GRDevFec,ActivosFijos_ID,Codigo from Mantenimiento
where Mantenimiento_ID=@numero";
SqlCommand cmd = new SqlCommand(cadena, miconex);
miconex.Open();
cmd.Parameters.AddWithValue("@numero", Convert.ToInt32(txtnum.Text));
SqlDataReader reader = cmd.ExecuteReader();

if (reader.Read())
{

txtnum.Text = reader["Mantenimiento_ID"].ToString();
mskfepro.Text = reader["FecProg"].ToString();
mskfechamant.Text = reader["FecMant"].ToString();
cbotipo.SelectedItem = reader["Tipo"].ToString();
cboest.SelectedItem = reader["Estado"].ToString();
txtnot.Text = reader["NroOt"].ToString();
mskot.Text = reader["FecOt"].ToString();
txtnumfact.Text = reader["NroFac"].ToString();
mskfac.Text = reader["FecFac"].ToString();
txtmonto.Text = reader["MontoFac"].ToString();
txtgrsalda.Text = reader["GRSalda"].ToString();
UNMSM EAP Ingeniera Industrial 2013

14


mskgr.Text = reader["GRSaldaFec"].ToString();
txtdev.Text = reader["GRDev"].ToString();
mskdev.Text = reader["GRDevFec"].ToString();
txtactivo.Text = reader["ActivosFijos_ID"].ToString();
txtcodigo.Text = reader["Codigo"].ToString();

} miconex.Close();
}
public void salir()
{
DialogResult res = MessageBox.Show("Desea Salir de la Aplicacion", "Mensaje
de Confirmacion", MessageBoxButtons.YesNo);
if (res == DialogResult.Yes)
this.Close();
else
MessageBox.Show("Usted Cancelo la operacion", "Mensaje");
}
private void btnsalir_Click(object sender, EventArgs e)
{
salir();
}
}

5. FORMULARIO ELIMINAR
En este formulario se va a poder eliminar un registro que est en nuestra base de datos, si
el registro no existe, mostrara un mensaje de error. El ID de registro se tendr que escribir
en la caja de texto y se presionara el botn eliminar para que se efectu la eliminacin.
El botn de visualizar datos es para mostrar los datos de nuestra base de datos.












UNMSM EAP Ingeniera Industrial 2013

15



Codificacin:
using System.Windows.Forms;
using System.Data.SqlClient;

namespace ProyectoFII
{
public partial class FrmEliminar : Form
{
public FrmEliminar()
{
InitializeComponent();
}
private SqlConnection miconex;
String servidor;
String basededatos;

private void FrmEliminar_Load(object sender, EventArgs e)
{
servidor = "virtualpc";
basededatos = "bdFactII";
Conectar(servidor, basededatos);
}
public void eliminar()
{
int numero = Convert.ToInt32(txtnum.Text);
try
{
String sentencia = "select count(*) from Mantenimiento where
Mantenimiento_ID=@id";
SqlCommand comand = new SqlCommand(sentencia, miconex);
comand.Parameters.AddWithValue("@id", numero);
miconex.Open();
int count = Convert.ToInt32(comand.ExecuteScalar());

String query = "delete from Mantenimiento where Mantenimiento_ID=@id";
SqlCommand cmd = new SqlCommand(query, miconex);
cmd.Parameters.AddWithValue("@id", numero);
if (count == 0)
{ MessageBox.Show("Registro no existe","Mensaje de Alerta");
miconex.Close();
}else{

cmd.ExecuteNonQuery();
MessageBox.Show("REGISTRO ELIMINADO CORRECTAMENTE", "Mensaje");
miconex.Close();
cmd.Dispose();
}
}
}
catch (Exception ex)
{
UNMSM EAP Ingeniera Industrial 2013

16



MessageBox.Show("NO SE PUDO ELIMINAR REGISTRO", "Mensaje");
}

miconex.Close();
}

private void btneliminar_Click(object sender, EventArgs e)
{
int num = Convert.ToInt32(txtnum.Text);
eliminar();

}
public void Conectar(String servidor, String basededatos)
{
try
{
string cnsql = "Data Source =" + servidor + ";Initial Catalog=" +
basededatos + ";Integrated Security=True";
miconex = new SqlConnection(cnsql);
miconex.Open();
//MessageBox.Show("conectado");
miconex.Close();
}
catch (SqlException ex)
{
MessageBox.Show("ERROR EN LA CONEXION...");
}
}
private void btndata_Click(object sender, EventArgs e)
{
mostrardata();
}

public void mostrardata()
{
String sel = "select * from Mantenimiento";
miconex.Open();

SqlDataAdapter damante = new SqlDataAdapter(sel,miconex);
DataSet dsmante = new DataSet();

damante.Fill(dsmante,"Mantenimiento");
dgvregistro.DataSource=dsmante;
dgvregistro.DataMember = "Mantenimiento";
miconex.Close();
}
}



UNMSM EAP Ingeniera Industrial 2013

17


6. FORMULARIO BUSCAR
En este formulario se va a poder buscar un registro mediante el ID de mantenimiento, la
cual una vez presionado el botn buscar, se mostrara el resultado en un datagriew.
El botn salir es para cerrar la ventana.












Codificacin:

using System.Data.SqlClient;
namespace ProyectoFII
{
public partial class FrmBuscar : Form
{
public FrmBuscar()
{
InitializeComponent();
}
private SqlConnection miconex;
String servidor;
String basededatos;
private void FrmBuscar_Load(object sender, EventArgs e)
{
servidor = "virtualpc";
basededatos = "bdFactII";
Conectar(servidor, basededatos);
}
public void buscar()
{
int numero = Convert.ToInt32(txtbus.Text);
miconex.Open();
UNMSM EAP Ingeniera Industrial 2013

18


String query = "select * from Mantenimiento where Mantenimiento_ID=@numero";
SqlCommand cmd = new SqlCommand(query, miconex);
cmd.Parameters.AddWithValue("@numero", numero);
SqlDataAdapter adaptador = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adaptador.Fill(dt);
dgvregistro.DataSource = dt;
miconex.Close();

}
public void Conectar(String servidor, String basededatos)
{
try
{
string cnsql = "Data Source =" + servidor + ";Initial Catalog=" +
basededatos + ";Integrated Security=True";
miconex = new SqlConnection(cnsql);
miconex.Open();
miconex.Close();
}
catch (SqlException ex)
{
MessageBox.Show("ERROR EN LA CONEXION...");
}
}

private void btnbuscar_Click(object sender, EventArgs e)
{
int num = Convert.ToInt32(txtbus.Text);
Existe(num);
buscar();
}

public void Existe(int id)
{

String query = "select count(*) from Mantenimiento where
Mantenimiento_ID=@id";
SqlCommand cmd = new SqlCommand(query, miconex);
cmd.Parameters.AddWithValue("@id", id);
miconex.Open();
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count == 0)
{ MessageBox.Show("Registro no existe", "Mensaje"); }

miconex.Close();

}
}


7. FORMULARIO CONSULTAR FACTURA
UNMSM EAP Ingeniera Industrial 2013

19


En este formulario se va a consultar un registro mediante el nmero de factura, la
cual una vez presionado el botn consultar, se mostrara el resultado en varias
etiquetas (Label) porque es de solo lectura y no se puede modificar este resultado.













Codificacin:
using System.Data.SqlClient;
namespace ProyectoFII
{
public partial class FrmConsultaFac : Form
{
public FrmConsultaFac()
{
InitializeComponent();
}
private SqlConnection miconex;
String servidor;
String basededatos;
public void Conectar(String servidor, String basededatos)
{
try
{
string cnsql = "Data Source =" + servidor + ";Initial Catalog=" +
basededatos + ";Integrated Security=True";
miconex = new SqlConnection(cnsql);
miconex.Open();
miconex.Close();
}
catch (SqlException ex)
{
UNMSM EAP Ingeniera Industrial 2013

20


MessageBox.Show("ERROR EN LA CONEXION...");
}
}

private void FrmConsultaFac_Load(object sender, EventArgs e)
{
servidor = "virtualpc";
basededatos = "bdFactII";
Conectar(servidor, basededatos);

}

private void btnconsultar_Click(object sender, EventArgs e)
{
Existe(txtnumfac.Text);
obtener();
}
public void obtener()
{
String cadena = "select
Mantenimiento_ID,FecProg,FecMant,Tipo,Estado,NroOt,FecOt,NroFac,FecFac,MontoFac," +
"GRSalda,GRSaldaFec,GRDev,GRDevFec,ActivosFijos_ID,Codigo from Mantenimiento
where NroFac=@numero";
SqlCommand cmd = new SqlCommand(cadena, miconex);
miconex.Open();
//cmd.Parameters.AddWithValue("@numero", Convert.ToInt32(txtnumfac.Text));
cmd.Parameters.AddWithValue("@numero", txtnumfac.Text);
SqlDataReader reader = cmd.ExecuteReader();

if (reader.Read())
{

lblmant.Text = reader["Mantenimiento_ID"].ToString();
lblfechaprog.Text = reader["FecProg"].ToString();
lblfechamant.Text = reader["FecMant"].ToString();
lbltipo.Text = reader["Tipo"].ToString();
lblestado.Text = reader["Estado"].ToString();
lblnrot.Text = reader["NroOt"].ToString();
lblfechaot.Text = reader["FecOt"].ToString();
lblfact.Text = reader["NroFac"].ToString();
lblfechafac.Text = reader["FecFac"].ToString();
lblmontofac.Text = reader["MontoFac"].ToString();
lblgrsalda.Text = reader["GRSalda"].ToString();
lblgrsaldafec.Text = reader["GRSaldaFec"].ToString();
lblgrdev.Text = reader["GRDev"].ToString();
lblgrdevfec.Text = reader["GRDevFec"].ToString();
lblactivos.Text = reader["ActivosFijos_ID"].ToString();
lblcodigo.Text = reader["Codigo"].ToString();

}

miconex.Close();

}
UNMSM EAP Ingeniera Industrial 2013

21



public void Existe(String id)
{
String query = "select count(*) from Mantenimiento where NroFac=@id";
SqlCommand cmd = new SqlCommand(query, miconex);
cmd.Parameters.AddWithValue("@id", id);
miconex.Open();
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count == 0)
{ MessageBox.Show("Factura no existe","Mensaje"); }

miconex.Close();
}

private void btnsalir_Click(object sender, EventArgs e)
{
salir();
}
public void salir()
{
DialogResult res = MessageBox.Show("Desea Salir de la Aplicacion", "Mensaje
de Confirmacion", MessageBoxButtons.YesNo);
if (res == DialogResult.Yes)
this.Close();
else
MessageBox.Show("Usted Cancelo la operacion","Mensaje");
}
}


























UNMSM EAP Ingeniera Industrial 2013

22


8. FORMULARIO CONSULTAR TIPO
En este formulario se va a poder realizar una consulta mediante el tipo de mantenimiento
mediante un combo box, en nuestro sistema tenemos 3 tipos de mantenimiento: 1, 2, 3 y
eso es dependiendo: el numero 1 significa que es un mantenimiento que no ha sido
modificado, el numero 2 significa que este mantenimiento ya se ha modificado 1 vez y el
numero 3 significa que este mantenimiento ha sido modificado varias veces.












Codificacin:
using System.Data.SqlClient;
namespace ProyectoFII
{
public partial class FrmConsultarTipo : Form
{
public FrmConsultarTipo()
{
InitializeComponent();
}
private SqlConnection miconex;
String servidor;
String basededatos;
public void Conectar(String servidor, String basededatos)
{
try
{
string cnsql = "Data Source =" + servidor + ";Initial Catalog=" +
basededatos + ";Integrated Security=True";
miconex = new SqlConnection(cnsql);
miconex.Open();
UNMSM EAP Ingeniera Industrial 2013

23


miconex.Close();
}
catch (SqlException ex)
{
MessageBox.Show("ERROR EN LA CONEXION...");
}
}

private void FrmConsultarTipo_Load(object sender, EvtArgs e)
{
servidor = "virtualpc";
basededatos = "bdFactII";
Conectar(servidor, basededatos);
}

public void consultartipo()
{

String tipo = cbotipo.SelectedItem.ToString();
miconex.Open();
String query = "select * from Mantenimiento where Tipo =@tipo";
SqlCommand cmd = new SqlCommand(query, miconex);
cmd.Parameters.Add("@tipo", SqlDbType.NVarChar, 1).Value = tipo;

SqlDataAdapter adaptador = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adaptador.Fill(dt);
dgvregistro.DataSource = dt;
miconex.Close();

}

private void btnsalir_Click(object sender, EventArgs e)
{
salir();
}
public void salir()
{
DialogResult res = MessageBox.Show("Desea Salir de la Aplicacion", "Mensaje
de Confirmacion", MessageBoxButtons.YesNo);
if (res == DialogResult.Yes)
this.Close();
else
MessageBox.Show("Usted Cancelo la operacion", "Mensaje");
}
private void btnconsultar_Click(object sender, EventArgs e)
{
consultartipo();
}
}



UNMSM EAP Ingeniera Industrial 2013

24


9. FORMULARIO CONSULTAR FECHA
En este formulario se va a poder realizar consultas por fechas, tiene un MaskedTextBox de
fecha de inicio y un MaskedTextBox de fecha de fin.















Codificacin :
using System.Data.SqlClient;
namespace ProyectoFII
{
public partial class FrmConsultarfe : Form
{
public FrmConsultarfe()
{
InitializeComponent();
}
private SqlConnection miconex;
String servidor;
String basededatos;
private void FrmConsultarfe_Load(object sender, EventArgs e)
{
servidor = "virtualpc";
basededatos = "bdFactII";
Conectar(servidor, basededatos);
}
public void Conectar(String servidor, String basededatos)
{
UNMSM EAP Ingeniera Industrial 2013

25


try
{
string cnsql = "Data Source =" + servidor + ";Initial Catalog=" +
basededatos + ";Integrated Security=True";
miconex = new SqlConnection(cnsql);
miconex.Open();
miconex.Close();
}
catch (SqlException ex)
{
MessageBox.Show("ERROR EN LA CONEXION...");
}
}
public void consultafecha()
{
String ini = mskinicio.Text;
String fin = mskfin.Text;
miconex.Open();
String query = "select * from Mantenimiento where FecMant between @inicio
and @fin";
SqlCommand cmd = new SqlCommand(query, miconex);
cmd.Parameters.Add("@inicio", SqlDbType.DateTime).Value = ini;
cmd.Parameters.Add("@fin", SqlDbType.DateTime).Value = fin;
SqlDataAdapter adaptador = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adaptador.Fill(dt);
dgvregistro.DataSource = dt;
miconex.Close();

}
public void mostrardata()
{
String sel = "select * from Mantenimiento";
miconex.Open();

SqlDataAdapter damante = new SqlDataAdapter(sel, miconex);
DataSet dsmante = new DataSet();

damante.Fill(dsmante, "Mantenimiento");
dgvregistro.DataSource = dsmante;
dgvregistro.DataMember = "Mantenimiento";
miconex.Close();
}

private void btndata_Click(object sender, EventArgs e)
{
mostrardata();
}

private void btnconsultar_Click(object sender, EventArgs e)
{
consultafecha();
}
}
UNMSM EAP Ingeniera Industrial 2013

26


CREACION DE LA BASE DE DATOS bdFactII en SQLSERVER
use master
go
create database bdFactII
go
use bdFactII
go
create table Mantenimiento(
Mantenimiento_ID int primary key not null,
FecProg datetime not null,
FecMant datetime null,
Tipo nvarchar(1) not null,
Estado nvarchar(2) not null,
NroOt nvarchar(30)null,
FecOt datetime null,
NroFac nvarchar(30) null,
FecFac datetime null,
MontoFac decimal(10,2) null,
GRSalda nvarchar(50) null,
GRSaldaFec datetime null,
GRDev nvarchar(50) null,
GRDevFec datetime null,
ActivosFijos_ID int not null,
Codigo nvarchar(15)not null

)
insert into Mantenimiento
values(1,21/09/2013,20/09/2013,'1','01','101',10/10/2013,'0000001',10/10/2013,5000.00,'20
0',12/11/2013,'10',10/09/2013,1,'123456')
go