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
Si les a servido de algo el archivo o el código
no se olviden de pasar y agradecer