Visual CSharp .NET - codigo para mostrar mi procedure en visual

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 5 puestos en Visual CSharp .NET (en relación al último mes)
Gráfica de Visual CSharp .NET

codigo para mostrar mi procedure en visual

Publicado por ernesto (2 intervenciones) el 12/07/2018 05:15:06
quisiera saber como hago para que cuando yo haga clic en mi voton calcular llame a mi procedure y ese resultado lo muestre en un textbox

aqui mi procedure
1
2
3
create procedure total
as
selec sum(importe) from tb_venta

la programcion la tengo en capas
y quisiera programarla de frente en el formulario




gracias
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 Milton Izaguirre
Val: 4
Ha mantenido su posición en Visual CSharp .NET (en relación al último mes)
Gráfica de Visual CSharp .NET

codigo para mostrar mi procedure en visual

Publicado por Milton Izaguirre (2 intervenciones) el 29/07/2018 19:41:44
Saludos ernesto:
Para que te guíes o lo acomodes a tus necesidades:

Te voy a poner 2 ejemplos de funciones una que devuelve un solo valor y otra que devuelve una cadena con separador

Esta función recibe un parámetro que es el nombre del Store procedure como la instrucción que pones en tu ejemplo


la llamas asi: Textbox1.text = Ejespdouble("Montosp").ToString("###,##0.00");


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public double Ejespdouble(String Namesp)
{
    double retvalor = 0;
    System.Data.SqlClient.SqlConnection sqlconex = new System.Data.SqlClient.SqlConnection(cConexsql);
    System.Data.SqlClient.SqlDataReader datareader;
    sqlconex.Open();
    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(Namesp, sqlconex);
    cmd.CommandType = CommandType.StoredProcedure;
    try{
        datareader = cmd.ExecuteReader();
        if( datareader.Read())
        {
            retvalor = (double)datareader[0];
        }
    }
    catch (Exception ex) {
        MessageBox.Show("Ocurrió un error. " + ex.Message);
        sqlconex.Close();
    }
    sqlconex.Close();
 
    return retvalor;
 
}

2. Función que retorna una cadena separada por "/", tu puedes poner el carácter separador que quieras.
Recibe 2 parametros, el nombre del store procedure y el id que necesitas.

la llamas asi: Textbox1.text = Ejespdouble("Montosp", 4);
y ahi puedes jugar con la información ya sea separandola con split

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
public String Ejespcadena(String Namesp, int xCodi)
{
    String retCadena = "";
    System.Data.SqlClient.SqlConnection sqlconex = new System.Data.SqlClient.SqlConnection(cConexsql);
    System.Data.SqlClient.SqlDataReader datareader;
    sqlconex.Open();
    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(Namesp, sqlconex);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("@xCodi", xCodi);
    try
    {
        datareader = cmd.ExecuteReader();  //el executereader() devuelve una sola fila
        if (datareader.Read())
        {
            for (int I = 0; I < datareader.FieldCount ; I++)  // lee todos los campos de la tabla que este en Store procedure
            {
                retCadena += datareader[I].ToString() + "/";
            }
            //Cuando sale del for eliminó el último elemento
            retCadena = retCadena.Remove(retCadena.Length - 1);
 
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show("Ocurrió un error. " + ex.Message);
    }
    return retCadena;
}

Visita mi canal en Youtube:
Estoy desarrollando un Sistema de Facturación e Inventario desde cero

https://www.youtube.com/user/MiltonIzaguirreMoral

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