none
CREAR COLUMNA NUEVA CALCULADA CON SELEC EN C# RRS feed

  • Pregunta

  • Buenas noches amigos, hago una consulta a una tabla para enviarla a un dataGridView y quiero crear una columna nueva que es el calculo de una existente por una variable global y que así la tengo en código:

    Select ......, PREMAE*Globales.gnDolar AS PrecioActual ............

    donde PREMAE es una columna existente en mi tabla, Globales.gnDolar es una variable declarada desde el program de mi aplicacion y esta cargada con el valor de 3.35, pero al generar la consulta me dice "The multi-part identifier "Globales.gnDolar" could not be bound.", si cambio la variable por un valor constante me sale el resultado pero la idea es que trabaje con una variable.

    Agradecere vuestra ayuda ya que soy practicamente nuevo en lo que es SQL y C#.


    viernes, 11 de octubre de 2019 0:08

Respuestas

  • hola

    >>Globales.gnDolar es una variable declarada desde el program de mi aplicacion

    tienes que pasarla por parametro

    string connstring = "connection string";  
    using (SqlConnection cn = new SqlConnection(connstring)) {  
        cn.Open();  
     
        string sql = "Select ......, PREMAE * @gnDolar AS PrecioActual ............";  
        SqlCommand cmd = new SqlCommand(query, cn);  
        cmd.Parameters.AddwithValue("@gnDolar", Globales.gnDolar);  
     
        //aqui ejecutas la queru
    } 

    esta claro que el valor deberia ser numerico

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 11 de octubre de 2019 3:01
  • Ante todo muchas gracias por responder Leandro, yo tengo este codigo en el load de mi form:

    da = new SqlDataAdapter("SELECT ......., PREMAE*Globales.gnDolar AS PRECIOACTUAL ....", conexion);
    dt = new DataTable();
    da.Fill(dt);
    dGV1.DataSource = dt;

    y con ello llenaba mi dataGridView, como seria con lo que me indicas o es que estoy planteando mal la consulta y la carga de mi dVG? y lo correcto es que debo adecuarla de acuerdo a la ejemplo que me brindas. GRACIAS nuevamente

    viernes, 11 de octubre de 2019 12:53

Todas las respuestas

  • hola

    >>Globales.gnDolar es una variable declarada desde el program de mi aplicacion

    tienes que pasarla por parametro

    string connstring = "connection string";  
    using (SqlConnection cn = new SqlConnection(connstring)) {  
        cn.Open();  
     
        string sql = "Select ......, PREMAE * @gnDolar AS PrecioActual ............";  
        SqlCommand cmd = new SqlCommand(query, cn);  
        cmd.Parameters.AddwithValue("@gnDolar", Globales.gnDolar);  
     
        //aqui ejecutas la queru
    } 

    esta claro que el valor deberia ser numerico

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 11 de octubre de 2019 3:01
  • Ante todo muchas gracias por responder Leandro, yo tengo este codigo en el load de mi form:

    da = new SqlDataAdapter("SELECT ......., PREMAE*Globales.gnDolar AS PRECIOACTUAL ....", conexion);
    dt = new DataTable();
    da.Fill(dt);
    dGV1.DataSource = dt;

    y con ello llenaba mi dataGridView, como seria con lo que me indicas o es que estoy planteando mal la consulta y la carga de mi dVG? y lo correcto es que debo adecuarla de acuerdo a la ejemplo que me brindas. GRACIAS nuevamente

    viernes, 11 de octubre de 2019 12:53
  • hola buenas noches disculpen por hacer esta pregunta soy nuevo en el foro quisiera hacerle una pregunta al sr Leandro Tuttini alguien sabe como puedo etiquetarlo en una preugnta que formule o algo asi de antemano muchas gracias 
    lunes, 14 de octubre de 2019 4:23