Yo solia hacerlo de esta manera
donde SQL era la sentencia Sql y
par los parametros para crear las consultas
y creo que te falta cachar la excepcion
public Boolean EjecutarSQL(string SQL, params string[] Par)
{
bool Op = false;
using (MySqlConnection Con = new MySqlConnection(StrConection ))
{
try
{
Con.Open();
using (MySqlCommand Cmd = new MySqlCommand(SQL, Con))
{
//Cmd.CommandType = CommandType.Text;
if (Par.Count()>0)
{
for (int i = 0; i < Par.Count(); ++i)
{
string Cad = string.Concat("?", i);
Cmd.Parameters.AddWithValue(Cad, Par[i]);
}
}
Cmd.CommandType = CommandType.Text;
Cmd.ExecuteNonQuery();
Op = true;
}
}
catch (MySqlException er) { Error = er.Message ; }
finally { if (Con.State == ConnectionState.Open) { Con.Close(); } }
}
return Op;
}