Ejemplo Consultas

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 9

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;

//Agregamos estas 5 librerias que seran utilizadas para generar los archivos en
diferentes formatos (Excel, Word, PDF)
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.Collections;
using System.Diagnostics;
using System.IO;

namespace Sistema_Ejemplo_2015
{
public partial class ConsultaProductos : Form
{
public ConsultaProductos()
{
InitializeComponent();
}

//Creamos el vinculo de conexion desde C# hacia SQL


ConexionSQL conexion = new ConexionSQL();

//Variable para indicar la consulta a ejecutar en SQL


string SQL;

//Variable para indicar la ubicación donde se almacenarán los archivos


generados para imprimir
string ruta;
private void timer1_Tick(object sender, EventArgs e)
{
this.lblHora.Text = DateTime.Now.ToLongTimeString();
}

private void LlenarDataGridView()


{
try
{
SQL = "SELECT Productos.Id_Producto AS Id,
Productos.Descripcion_Producto AS Descripcion, Productos.Costo_Producto AS
Costo,Productos.Precio_Producto AS Precio, Suplidores.Nombre_Suplidor AS Suplidor,
Tipos_Productos.Descripcion_Tipo_Producto AS Tipo, Productos.Existencia_Producto AS
Existencia, Productos.ITBIS_Producto AS [Paga ITBIS] FROM Productos INNER JOIN
Suplidores ON Productos.Id_Suplidor = Suplidores.Id_Suplidor INNER JOIN
Tipos_Productos ON Productos.Id_Tipo_Producto = Tipos_Productos.Id_Tipo_Producto";
conexion.consultar(SQL, "Productos");
this.dgvProductos.DataSource = conexion.ds.Tables["Productos"];
this.dgvProductos.Refresh();
}
catch (Exception Error)
{
MessageBox.Show(Error.Message, "Aviso", MessageBoxButtons.OK,
MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}
}

private void ConsultaProductos_Load(object sender, EventArgs e)


{
LlenarDataGridView();
this.lblFecha.Text = DateTime.Now.ToShortDateString();
}

private void rdbID_CheckedChanged(object sender, EventArgs e)


{
this.TxtBusqueda.Visible = true;
this.TxtBusqueda.Text = "";
this.TxtBusqueda.Focus();
this.GbxRango.Visible = false;
}

private void rdbDescripción_CheckedChanged(object sender, EventArgs e)


{
this.TxtBusqueda.Visible = true;
this.TxtBusqueda.Text = "";
this.TxtBusqueda.Focus();
this.GbxRango.Visible = false;
}

private void rdbTipo_CheckedChanged(object sender, EventArgs e)


{
this.TxtBusqueda.Visible = true;
this.TxtBusqueda.Text = "";
this.TxtBusqueda.Focus();
this.GbxRango.Visible = false;
}
private void rdbSuplidor_CheckedChanged(object sender, EventArgs e)
{
this.TxtBusqueda.Visible = true;
this.TxtBusqueda.Text = "";
this.TxtBusqueda.Focus();
this.GbxRango.Visible = false;
}

private void rdbExistencia_CheckedChanged(object sender, EventArgs e)


{
this.TxtBusqueda.Visible = false;
this.TxtBusqueda.Text = "";
this.TxtBusqueda.Focus();
this.GbxRango.Visible = true;
this.TxtDesde.Text = string.Empty;
this.TxtHasta.Text = string.Empty;
this.TxtDesde.Focus();
}

private void btnImprimir_Click(object sender, EventArgs e)


{
gbxFormato.Visible = true;
}

private void btnRetornar_Click(object sender, EventArgs e)


{
Close();
}

private void dgvProductos_Click(object sender, EventArgs e)


{
this.GbxDetalles.Visible = true;
try
{
SQL = "Select * From Suplidores where Nombre_Suplidor ='" +
this.dgvProductos[4, this.dgvProductos.SelectedCells[0].RowIndex].Value.ToString() +
"'";
conexion.consultar(SQL, "Suplidores");
this.dgvSuplidor.DataSource = conexion.ds.Tables["Suplidores"];
this.dgvSuplidor.Refresh();
}
catch (Exception Error)
{
MessageBox.Show(Error.Message, "Aviso", MessageBoxButtons.OK,
MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}
}

private void TxtCriterio_TextChanged(object sender, EventArgs e)


{
if (this.rdbID.Checked == true)
{
try
{
SQL = "SELECT Productos.Id_Producto AS Id,
Productos.Descripcion_Producto AS Descripcion, Productos.Costo_Producto AS
Costo,Productos.Precio_Producto AS Precio, Suplidores.Nombre_Suplidor AS Suplidor,
Tipos_Productos.Descripcion_Tipo_Producto AS Tipo, Productos.Existencia_Producto AS
Existencia, Productos.ITBIS_Producto AS [Paga ITBIS] FROM Productos INNER JOIN
Suplidores ON Productos.Id_Suplidor = Suplidores.Id_Suplidor INNER JOIN
Tipos_Productos ON Productos.Id_Tipo_Producto = Tipos_Productos.Id_Tipo_Producto
where Productos.Id_Producto like '%" + this.TxtBusqueda.Text.Trim() + "%'";
conexion.consultar(SQL, "Productos");
this.dgvProductos.DataSource = conexion.ds.Tables["Productos"];
this.dgvProductos.Refresh();
}
catch (Exception Error)
{
MessageBox.Show(Error.Message, "Aviso", MessageBoxButtons.OK,
MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}
}
else if (this.rdbDescripción.Checked == true)
{
try
{
SQL = "SELECT Productos.Id_Producto AS Id,
Productos.Descripcion_Producto AS Descripcion, Productos.Costo_Producto AS
Costo,Productos.Precio_Producto AS Precio, Suplidores.Nombre_Suplidor AS Suplidor,
Tipos_Productos.Descripcion_Tipo_Producto AS Tipo, Productos.Existencia_Producto AS
Existencia, Productos.ITBIS_Producto AS [Paga ITBIS] FROM Productos INNER JOIN
Suplidores ON Productos.Id_Suplidor = Suplidores.Id_Suplidor INNER JOIN
Tipos_Productos ON Productos.Id_Tipo_Producto = Tipos_Productos.Id_Tipo_Producto
where Productos.Descripcion_Producto like '%" + this.TxtBusqueda.Text.Trim() + "%'";
conexion.consultar(SQL, "Productos");
this.dgvProductos.DataSource = conexion.ds.Tables["Productos"];
this.dgvProductos.Refresh();
}
catch (Exception Error)
{
MessageBox.Show(Error.Message, "Aviso", MessageBoxButtons.OK,
MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}
}
else if (this.rdbTipo.Checked == true)
{
try
{
SQL = "SELECT Productos.Id_Producto AS Id,
Productos.Descripcion_Producto AS Descripcion, Productos.Costo_Producto AS
Costo,Productos.Precio_Producto AS Precio, Suplidores.Nombre_Suplidor AS Suplidor,
Tipos_Productos.Descripcion_Tipo_Producto AS Tipo, Productos.Existencia_Producto AS
Existencia, Productos.ITBIS_Producto AS [Paga ITBIS] FROM Productos INNER JOIN
Suplidores ON Productos.Id_Suplidor = Suplidores.Id_Suplidor INNER JOIN
Tipos_Productos ON Productos.Id_Tipo_Producto = Tipos_Productos.Id_Tipo_Producto
where Tipos_Productos.Id_Tipo_Producto like '%" + this.TxtBusqueda.Text.Trim() +
"%'";
conexion.consultar(SQL, "Productos");
this.dgvProductos.DataSource = conexion.ds.Tables["Productos"];
this.dgvProductos.Refresh();
}
catch (Exception Error)
{
MessageBox.Show(Error.Message, "Aviso", MessageBoxButtons.OK,
MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}
}
else if (this.rdbSuplidor.Checked == true)
{
try
{
SQL = "SELECT Productos.Id_Producto AS Id,
Productos.Descripcion_Producto AS Descripcion, Productos.Costo_Producto AS
Costo,Productos.Precio_Producto AS Precio, Suplidores.Nombre_Suplidor AS Suplidor,
Tipos_Productos.Descripcion_Tipo_Producto AS Tipo, Productos.Existencia_Producto AS
Existencia, Productos.ITBIS_Producto AS [Paga ITBIS] FROM Productos INNER JOIN
Suplidores ON Productos.Id_Suplidor = Suplidores.Id_Suplidor INNER JOIN
Tipos_Productos ON Productos.Id_Tipo_Producto = Tipos_Productos.Id_Tipo_Producto
where Suplidores.Nombre_Suplidor like '%" + this.TxtBusqueda.Text.Trim() + "%'";
conexion.consultar(SQL, "Productos");
this.dgvProductos.DataSource = conexion.ds.Tables["Productos"];
this.dgvProductos.Refresh();
}
catch (Exception Error)
{
MessageBox.Show(Error.Message, "Aviso", MessageBoxButtons.OK,
MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}
}
}

private void BtnBuscarRango_Click(object sender, EventArgs e)


{
if (this.TxtDesde.Text == "" || this.TxtHasta.Text == "")
{
MessageBox.Show("Debe indicar el rango inicial y final", "Aviso",
MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
this.TxtDesde.Focus();
return;
}
try
{
SQL = "SELECT Productos.Id_Producto AS Id,
Productos.Descripcion_Producto AS Descripcion, Productos.Costo_Producto AS
Costo,Productos.Precio_Producto AS Precio, Suplidores.Nombre_Suplidor AS Suplidor,
Tipos_Productos.Descripcion_Tipo_Producto AS Tipo, Productos.Existencia_Producto AS
Existencia, Productos.ITBIS_Producto AS [Paga ITBIS] FROM Productos INNER JOIN
Suplidores ON Productos.Id_Suplidor = Suplidores.Id_Suplidor INNER JOIN
Tipos_Productos ON Productos.Id_Tipo_Producto = Tipos_Productos.Id_Tipo_Producto
where Existencia_Producto Between '" + this.TxtDesde.Text + "' And '" +
this.TxtHasta.Text + "'";
conexion.consultar(SQL, "Productos");
this.dgvProductos.DataSource = conexion.ds.Tables["Productos"];
this.dgvProductos.Refresh();
}
catch (Exception Error)
{
MessageBox.Show(Error.Message, "Aviso", MessageBoxButtons.OK,
MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}
}

private void btnExcel_Click(object sender, EventArgs e)


{
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "Archivos de Excel|*.xls";
dialog.FileName = "";
dialog.Title = "Guardar Reporte en Excel";
dialog.InitialDirectory = "C:\\";
DialogResult result = dialog.ShowDialog();

if (result == DialogResult.OK)
{
ruta = dialog.FileName;
try
{
ArrayList titulos = new ArrayList();
DataTable datosTabla = new DataTable();

//Especificamos ruta donde se guardará el archivo con extensión


de EXCEL.
Exportar OF = new Exportar(ruta);

//obtenemos los titulos del datagridview y creamos las columnas


de la tabla
foreach (DataGridViewColumn item in dgvProductos.Columns)
{
titulos.Add(item.HeaderText);
datosTabla.Columns.Add();
}

//se crean las filas de la tabla


foreach (DataGridViewRow item in dgvProductos.Rows)
{
DataRow rowx = datosTabla.NewRow();
datosTabla.Rows.Add(rowx);
}

//se pasan los datos del datagridview a la tabla


foreach (DataGridViewColumn item in dgvProductos.Columns)
{
foreach (DataGridViewRow itemx in dgvProductos.Rows)
{
datosTabla.Rows[itemx.Index][item.Index] =
dgvProductos[item.Index, itemx.Index].Value;
}
}

//Exportamos el archivo
OF.Export(titulos, datosTabla);
MessageBox.Show("Archivo Generado Correctamente!", "Aviso",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Process.Start(OF.xpath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
else if (result == DialogResult.Cancel)
{
this.gbxFormato.Visible = false;
return;
}
this.gbxFormato.Visible = false;
}

private void btnWord_Click(object sender, EventArgs e)


{
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "Archivos de Word|*.doc";
dialog.FileName = "";
dialog.Title = "Guardar Reporte en Word";
dialog.InitialDirectory = "C:\\";
DialogResult result = dialog.ShowDialog();

if (result == DialogResult.OK)
{
ruta = dialog.FileName;
try
{
ArrayList titulos = new ArrayList();
DataTable datosTabla = new DataTable();

//Especificamos ruta donde se guardará el archivo con extensión


de WORD.
Exportar OF = new Exportar(ruta);

//obtenemos los titulos del datagridview y creamos las columnas


de la tabla
foreach (DataGridViewColumn item in dgvProductos.Columns)
{
titulos.Add(item.HeaderText);
datosTabla.Columns.Add();
}

//se crean las filas de la tabla


foreach (DataGridViewRow item in dgvProductos.Rows)
{
DataRow rowx = datosTabla.NewRow();
datosTabla.Rows.Add(rowx);
}

//se pasan los datos del datagridview a la tabla


foreach (DataGridViewColumn item in dgvProductos.Columns)
{
foreach (DataGridViewRow itemx in dgvProductos.Rows)
{
datosTabla.Rows[itemx.Index][item.Index] =
dgvProductos[item.Index, itemx.Index].Value;
}
}

//Exportamos el archivo
OF.Export(titulos, datosTabla);
MessageBox.Show("Archivo Generado Correctamente!", "Aviso",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Process.Start(OF.xpath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
else if (result == DialogResult.Cancel)
{
this.gbxFormato.Visible = false;
return;
}
this.gbxFormato.Visible = false;
}

private void btnPDF_Click(object sender, EventArgs e)


{
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "Archivos de PDF|*.pdf";
dialog.FileName = "";
dialog.Title = "Guardar Reporte en PDF";
dialog.InitialDirectory = "C:\\";
DialogResult result = dialog.ShowDialog();

if (result == DialogResult.OK)
{
ruta = dialog.FileName;
try
{
Document doc = new Document(PageSize.LETTER.Rotate(), 10, 10,
10, 10);
string filename = ruta;
FileStream file = new FileStream(filename,
FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
PdfWriter.GetInstance(doc, file);
doc.Open();
Exportar OF = new Exportar(ruta);
OF.GenerarDocumentoPDF(doc, dgvProductos);
doc.Close();
MessageBox.Show("Archivo Generado Correctamente!", "Aviso",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Process.Start(filename);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
else if (result == DialogResult.Cancel)
{
this.gbxFormato.Visible = false;
return;
}
this.gbxFormato.Visible = false;
}
}
}

También podría gustarte