none
No se ejecuta consulta desde c# RRS feed

  • Pregunta

  • Hola chicos buen día. Espero me puedan apoyar con mi problema. Estoy intentando eliminar desde c3 a una base de datos MySQL pero me marca error. ya valide que se conecte y que el DELETE funcione desde un editor de base de datos pero me marca error desde C#. Mi código es el siguiente:

    public

    staticstringconnMysql = ConfigurationManager.ConnectionStrings["ConnMysql"].ConnectionString;

    string consultaMSQL = @"delete from prods where articulo=@articulo";
    
                    using (MySqlConnection conexionM = new MySqlConnection(connMysql))
                    {
                        if (conexionM.State == ConnectionState.Closed)
                        {
                            conexionM.Open();
                        }
                        else
                        {
                            MessageBox.Show("la conexion está abierta");
                        }
    
                        MySqlCommand cmdSQL = new MySqlCommand(consultaMSQL, conexionM);
                        cmdSQL.Parameters.Clear();
                        cmdSQL.Parameters.AddWithValue("@articulo", dataGridView1.Rows[renglon].Cells[1].Value.ToString().Trim());
                        MessageBox.Show("MB:"+ dataGridView1.Rows[renglon].Cells[1].Value.ToString().Trim()+":");
                        if (cmdSQL.ExecuteNonQuery() == 0)
                        {
                            dataGridView1.Rows[renglon].Cells[4].Value = "Error";
                            dataGridView1.Rows[renglon].DefaultCellStyle.BackColor = Color.Red;
                        }
    
                        else
                        {
                            dataGridView1.Rows[renglon].Cells[4].Value = "Eliminado";
                        }
                    }
    
                        renglon = renglon + 1;
                }//FIN DEL FOREACH
    El código a eliminar lo toma desde un GRID de la columna 1. Gracias por su gran apoyo chicos

    miércoles, 3 de julio de 2019 0:07

Respuestas

Todas las respuestas

  • hola

    >>pero me marca error desde C#

    y que dice el mensaje de error ?

    Si estas usando esto

    using (MySqlConnection conexionM = new MySqlConnection(connMysql))

    que sentido tiene esto

    if (conexionM.State == ConnectionState.Closed)

    siempre va a estar cerrada la conexion porque estas creando una instancia nueva justamente en el using, ese if esta de mas


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 3 de julio de 2019 2:27
  • Sólo la utilice para validar si estaba abierta se me pasó quitar ese fragmento de código

    • Marcado como respuesta Karlita Estrada miércoles, 3 de julio de 2019 19:16
    miércoles, 3 de julio de 2019 2:33
  • Hola buen día. Lo corregí incluyendo el parámetro directamente a la instrucción SQL:

    string consultaMSQL = @"delete from prods where articulo='"+articulo+"'";

    miércoles, 3 de julio de 2019 19:16