1/1/10

CONSULTA DE PEDIDOS X RANGO DE FECHAS

TENIENDO COMO PROVEEDOR DE BD A SQL , USAREMOS PROCEDIMIENTOS ALMACENADO EN "N CAPAS"











App.config:::: para la coneccion a la bd


< ?xml version="1.0" encoding="utf-8" ?>
<>
<>
< name="conecta" connectionstring="INTEGRATED SECURITY=TRUE;DATABASE=nombrebd;SERVER=nombredelservidor">
< /connectionStrings>
< /configuration>





CODIGO EL LA CLASE NEGOCIO


using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace capa_negocio
{
public class reglas_de_negocio
{
static SqlCommand cmd;
static SqlConnection conex;
public static void Conecta()
{
conex = new SqlConnection(ConfigurationManager.ConnectionStrings["conecta"].ConnectionString);
conex.Open();
}

public static DataTable Runsql(string nompro, params Object[] lista)
{
Conecta();
cmd = new SqlCommand(nompro, conex);
cmd.CommandType = CommandType.StoredProcedure;

SqlCommandBuilder.DeriveParameters(cmd);
int cuenta = 0;

foreach (SqlParameter prm in cmd.Parameters)
{
if (prm.ParameterName != "@RETURN_VALUE")
{
prm.Value = lista[cuenta];
cuenta++;
}
}

SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
conex.Close();
return dt;
}

}
}



CODIGO EN EL FORMULARIO

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

namespace Presentacion
{

public partial class facturasxfechas : Form

{
public facturasxfechas()
{
InitializeComponent();
}

private void btn_consulta_Click(object sender, EventArgs e)
{
DataTable dt=capa_negocio.reglas_de_negocio.Runsql("spfacxfech", f1.Text, f2.Text);
gw_facturas.DataSource = capa_negocio.reglas_de_negocio.Runsql("spfacxfech", f1.Text, f2.Text);
lbl_total.Text = Convert.ToString(dt.Compute("sum(total)", ""));
}

private void gw_facturas_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

}

private void gw_facturas_Click(object sender, EventArgs e)
{
int fila = this.gw_facturas.CurrentCell.RowIndex;

string numfac = gw_facturas[0, fila].Value.ToString();

DataTable dt = capa_negocio.reglas_de_negocio.Runsql("sp_empleadoxfac", numfac);
for (int i = 0;i< text ="">

CÓDIGO SQL PARA LOS PROCEDIMIENTOS




use VENTAS
go
set dateformat dmy
go

alter proc spfacxfech
@fe1 datetime,
@fe2 datetime
as
select num_fact, sub_total , igv , total , fecha
from dbo.Facturas
where fecha BETWEEN @fe1 and @fe2
go
exec spfacxfech '20/02/1996','08/04/1996'
go

alter proc sp_empleadoxfac
@numfac int
as
select nombre from Empleado e ,Facturas f
where e.cod_emp=f.cod_emp and num_fact=@numfac
go
sp_empleadoxfac 000015
go




DESCARGAR EL PROYECTO aki
Si les a servido de algo el archivo o el código

no se olviden de pasar y agradecer

3 comentarios:

  1. Hola: tengo una tabla "Unidades" que contiene los siguientes datos:
    Unidad,TipoUnidad,Producto,Destino,Fecha_Entrada,Fecha_Salida,Días.

    Podrias decirme como hacer el procedimiento almacenado para mostrar solo las unidades que cumplan con los rangos de fechas de entrada y fechas de salida soliciatados en 2 datetimepicker....

    y que solo muestre los campos:

    Unidad, TipoUnidad,fecha_entrada,fecha_salida,dias.
    Mi correo es lanitaiguanita@yahoo.com

    de antemano....gracias...XD

    ResponderEliminar
  2. [Unidad,TipoUnidad,Producto,Destino,Fecha_Entrada,Fecha_Salida,Días]

    [Unidad, TipoUnidad,fecha_entrada,fecha_salida,dias]

    create proc listarproducots
    @fe1 datetime,
    @fe2 datetime
    as
    select Unidad, TipoUnidad,fecha_entrada,fecha_salida,dias
    from Unidades
    where fecha BETWEEN @fe1 and @fe2
    go
    exec spfacxfech '20/02/1996','08/04/1996'
    go

    ResponderEliminar

HOLA AMIGOS, LES DEJAMOS ESTA INFORMACIÓN CON EL ÚNICO PROPÓSITO DE QUE LE UTILICEN PARA APRENDER, NO LO USEN PARA FINES DE NEGOCIO:


*=============================================*

SI LA INFORMACIÓN LES A GUSTADO NO SE OLVIDEN DE AGRADECER

*=============================================*

ATE:

_____________
Davan Palma Eli