Visual CSharp .NET - Mostrar consulta por filtro de Sql server desde C#

 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado 1 puesto en Visual CSharp .NET (en relación al último mes)
Gráfica de Visual CSharp .NET

Mostrar consulta por filtro de Sql server desde C#

Publicado por Luis (2 intervenciones) el 27/12/2019 00:25:43
Hola muy buenas a todos .

Quiero pedirles su ayuda con el siguiente ejercicio en c#
El ejercicio trata lo siguiente: Realizar una consulta desde c# a la base de datos sql server.
En las siguientes imagenes esta la sentencia de consulta y como debe mostrarse la informacion en el formulario, de acuerdo al filtro que se haga en los textbox y combobox.

SENTENCIA SQL PARA LA CONSULTA
Captura

EJEMPLO DE COMO SE MOSTRARA LA CONSULTA EN EL FORMULARIO
Captura2


TABLA CON LOS ATRIBUTOS DE LA BASE DE DATOS
Captura3

CONSULTA HECHA DIRECTAMENTE DESDE LA DESDE DE DATOS
Captura4



El inconveniente que tengo es que la consulta la realizo desde la base de datos perfectamente, pero no se como implementar una consulta desde c# mandandole el codigo, el año y el mes. Solo he realizado consultas como por ejemplo: select * from Liquidacion.

Les agradezco sus comentarios y ayudas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Vladimir
Val: 18
Ha disminuido 1 puesto en Visual CSharp .NET (en relación al último mes)
Gráfica de Visual CSharp .NET

Mostrar consulta por filtro de Sql server desde C#

Publicado por Vladimir (4 intervenciones) el 27/12/2019 16:18:56
Hola buenos días, te coloco este ejemplo que cree basado en lo que publicaste:

primero cree un procedimiento de almacenado

1
2
3
4
5
6
7
8
9
10
11
12
ALTER PROCEDURE [dbo].[Liquidacion__List_Get]
	-- Add the parameters for the stored procedure here
	@anio varchar(4),
	@mes varchar(32),
	@Codigo varchar(18)
AS
 
 
    -- Insert statements for procedure here
	SELECT Codigo,Identificacion,Nombre,NIC,Fecha,CodigoServicio,valor from Liquidacion
	group by Codigo, Identificacion, Nombre,year(Fecha),month(Fecha),NIC,Fecha,CodigoServicio,valor
	having year(Fecha)=@anio and month(fecha)=@mes and Codigo=@Codigo

cree un proyecto de escritorio en Visual Studio y agrege una clase para hacerla conexion con la base de datos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace CrudPruebaBD
{
 
    public class cDatos
    {
        string connectionString = ConfigurationManager.ConnectionStrings["Database"].ConnectionString;
        public DataSet PALiquidacion__List_Get(string anio, string mes, string codigo)
        {
            //Objeto Dataset
 
            try
            {
                DataSet datos = new DataSet();
                //Objeto Conexion
                SqlConnection connexion = new SqlConnection();
                //Objeto comnand
                SqlCommand command = new SqlCommand();
                SqlDataAdapter da = new SqlDataAdapter();
                connexion.ConnectionString = connectionString;
                command.Connection = connexion;
                command.CommandText = "Liquidacion__List_Get";
                command.Parameters.Add("@anio", SqlDbType.VarChar).Value = anio;
                command.Parameters.Add("@mes", SqlDbType.VarChar).Value = mes;
                command.Parameters.Add("@Codigo", SqlDbType.VarChar).Value = codigo;
                command.CommandType = CommandType.StoredProcedure;
                da.SelectCommand = command;
                da.Fill(datos);
 
 
                command.Connection.Close();
                command.Connection.Dispose();
 
 
                return datos;
            }
            catch (Exception e)
            {
                //Console.WriteLine("{0} Second exception caught.", e);
                return null;
            }
        }
 
 
    }
}

En el App.config del proyecto de visual studio agregar esto para que apunte a la base de datos de SQL Server

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 
  <connectionStrings>
    <add name="Database" connectionString="Data Source=ABSRVWAS95;initial catalog=PruebaDB;persist security info=True; Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
 
  </connectionStrings>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>
</configuration>

y esto en el botonbuscar

1
2
3
4
cDatos objdatos = new cDatos();
 
 
dtgViews.DataSource = objdatos.PALiquidacion__List_Get(cboanio.Text,cbomes.Text,txtCodigo.Text).Tables[0];


de todas maneras te coloco el proyecto de codigo a tu disposicion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 4
Ha aumentado 1 puesto en Visual CSharp .NET (en relación al último mes)
Gráfica de Visual CSharp .NET

Mostrar consulta por filtro de Sql server desde C#

Publicado por Luis (2 intervenciones) el 28/12/2019 02:10:57
Muchas Gracias por su ayuda me ha servido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar