Hola gente vengo otra vez ,con un nuevo post de como hacer consultas de datos con filtros. Este este ejercicio haremos en asp .net y un poco de bootstrap .
Primeramente creamos nuestro base de datos en sql server cualquier version..
script:
--creamos base datos
tambien necesitaremos un procedimiento almacenado, para hacer nuestra busqueda por fecha.
Hasta ahi tenemos el diseño .Pero nos falta programar para que funcione..
vamos a programarlo.
codigos en c#
// importamos las libreria a utilizar
Primeramente creamos nuestro base de datos en sql server cualquier version..
script:
--creamos base datos
create database videotutoriales
use videotutoriales
--creamos las tablas
CREATE TABLE [dbo].[Factura](
[Nro_Factura]
[char](10) NOT NULL,
[fecha]
[datetime] NULL,
[cliente]
[varchar](50) NULL,
[producto]
[varchar](50) NULL,
[total]
[decimal](10, 2) NULL,
CONSTRAINT [PK_Factura] PRIMARY KEY CLUSTERED
(
[Nro_Factura]
ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
tambien necesitaremos un procedimiento almacenado, para hacer nuestra busqueda por fecha.
-- procedimiento almacenado
create procedure [dbo].[buscarfecha]
@fecha datetime
As
select *from Factura where fecha=@fecha
GO
Bueno hasta ahi tenemos la base de datos y procedimientros almacenados.
Ahora diseñamos nuestro formulario en asp net.
script de diseño.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="reporte_por_fechas_facturas.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Practicas
con fechas cpiprodesign.com</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
</head>
<body>
<form id="form1" runat="server">
<div class="container mt-2">
<div>
<asp:Label ID="Label1" runat="server" Text="Criterio
de Busqueda"></asp:Label>
<asp:TextBox ID="TextBox2" placeholder="Ingrese una fecha" runat="server"></asp:TextBox>
<asp:Button ID="Button3" CssClass="btn
btn-danger" runat="server" Text="Buscar" OnClick="Button1_Click" />
</div>
<br />
<asp:Calendar ID="Calendar2" runat="server" OnSelectionChanged="Calendar1_SelectionChanged"></asp:Calendar>
<br />
<div>
<asp:Button ID="Button4" CssClass="btn
btn-primary" runat="server" Text="CargarTodos" OnClick="Button2_Click" />
</div>
<br />
<div>
<asp:GridView ID="GridView2" runat="server"></asp:GridView>
</div>
<div>
</div>
<br />
<br />
<div>
</div>
<br />
<div>
</div>
</div>
</form>
</body>
</html>
El resultado seria lo siguiente.
Hasta ahi tenemos el diseño .Pero nos falta programar para que funcione..
vamos a programarlo.
codigos en c#
// importamos las libreria a utilizar
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
namespace reporte_por_fechas_facturas
{
public partial class WebForm1 : System.Web.UI.Page
{
SqlConnection cn = new SqlConnection("Data Source=tu_coneecion.local;Initial
Catalog=videotutoriales;Integrated Security=True");
protected void
Page_Load(object sender, EventArgs e)
{
}
protected void
Button1_Click(object sender,
EventArgs e)
{
filtrar();
}
//codigo para
filtrar registros por fechas
private void
filtrar()
{
SqlDataAdapter da = new SqlDataAdapter("buscarfecha",cn);
da.SelectCommand.CommandType =
CommandType.StoredProcedure;
da.SelectCommand.Parameters.Add("@fecha",SqlDbType.DateTime).Value=Convert.ToDateTime(TextBox2.Text);
DataTable dt = new DataTable();
da.Fill(dt);
this.GridView2.DataSource = dt;
GridView2.DataBind();
}
protected void
Calendar1_SelectionChanged(object sender, EventArgs e)
{
SqlDataAdapter da = new SqlDataAdapter("buscarfecha", cn);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.Add("@fecha",
SqlDbType.DateTime).Value = Convert.ToDateTime(Calendar2.SelectedDate);
DataTable dt = new DataTable();
da.Fill(dt);
this.GridView2.DataSource = dt;
GridView2.DataBind();
}
protected void
Button2_Click(object sender,
EventArgs e)
{
//carga toodo
los registros grabados
SqlDataAdapter da = new SqlDataAdapter("select*from factura", cn);
DataTable dt = new DataTable();
da.Fill(dt);
GridView2.DataSource = dt;
GridView2.DataBind();
}
}
}
Eso seria todo espero ayudarles com este post..
comenta tus dudas y sugerencias.
Eso seria todo espero ayudarles com este post..
comenta tus dudas y sugerencias.