Tal y como lo tienes, tu función puede realizar operaciones de insercción, modificación o borrado pero no de consulta.
Cada vez que haces una de estas operaciones haces un "command.ExecuteNonQuery();" pero cuando haces una consulta esto no es así y necesitas un datareader.
Un ejemplo de la recogida de valores de un select:
Cita:
Código c#:
Ver originalString CadenaDeConexion = "Server=xxxx;Database=aluminio;User Id=xxxx;Password=xxxx";
MySqlConnection myCnn = new MySqlConnection();
myCnn.ConnectionString = CadenaDeConexion;
MySqlDataReader Reader;
myCnn.Open();
MySqlCommand command = myCnn.CreateCommand();
string consulta = "";
consulta = "SELECT count(id) ";
consulta += "FROM tbalmacen INNER JOIN tbperfil ";
consulta += "ON tbalmacen.idBarra = tbperfil.idBarra ";
consulta += "WHERE (perfil like '";
consulta += comboBox1.Text.ToString();
consulta += "')";
command.CommandText = consulta;
Reader = command.ExecuteReader();
string sResultado = "";
while (Reader.Read())
{
for (int i = 0; i < Reader.FieldCount; i++)
sResultado += Reader.GetValue(i).ToString();
}
Reader.Close();
myCnn.Close();
Ahora bien a la hora de realizar tu funcion además de tener en cuenta si estás realizando una consulta... deberás tener en cuenta otros factores como el numero de registros que vas a obtener así como cuantas tuplas (las columnas) vas a sacar en la consulta.