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

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 2 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 aumentado 1 puesto 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