Salut, je ne sais pas comment récupérer toutes les valeurs avec le même identifiant et les afficher dans une seule étiquette.

Exemple:

id   food

1     chicken

1     fish

Sortie souhaitée :

chicken,fish

Comment puis je faire ça?

SqlConnection con1 = new SqlConnection(strConnString);
con.Open();
str = "select food from foodName where id= 1";
com = new SqlCommand(str, con);

SqlDataReader reader = com.ExecuteReader();
while (reader.Read())
{
    Label1.Text = reader["food"].ToString();
}
con.Close();
0
skylight 26 janv. 2017 à 08:39

5 réponses

Meilleure réponse
Label1.Text = string.Empty;
SqlConnection con1 = new SqlConnection(strConnString);
con.Open();
str = "select food from foodName where id= 1";
com = new SqlCommand(str, con);

SqlDataReader reader = com.ExecuteReader();
while (reader.Read())
{
    Label1.Text += reader["food"].ToString();
}
con.Close();
0
Muhammed Shevil KP 26 janv. 2017 à 08:43

Puisque vous ne pouvez pas nous fournir votre code. Je suppose que vous avez une liste d'aliments [List<Food>] et que vous avez un id et un foodName à l'intérieur. Voici ce que vous pouvez faire:

IEnumerable<string> selectedFood = foods.FindAll(food => food.id == 1).Select(food => food.foodName);

string result = string.Join(", ", selectedFood);

Vous pouvez maintenant utiliser le résultat comme valeur de votre étiquette.

J'espère que cela t'aides!

0
mindOfAi 26 janv. 2017 à 05:52

Utilisez l'expression lambda en C #.

 var list = new List<Product>(){
                new Product {ID=1, FoodName ="chicken"},
                new Product{ID=2, FoodName="egg"},
                new Product{ID=1, FoodName="fish"}
            };

 var output = list.Where(s => s.ID == 1).Select(s=>s.FoodName).ToArray(); //result will be array of items.

Utilisez string.Join pour obtenir les résultats de sortie "poulet, poisson"

string.Join(",", output); //result will be chicken,fish
0
Balaji Marimuthu 26 janv. 2017 à 05:52

Vous pouvez simplement faire un foreach et ajouter une chaîne à l'aide de StringBuilder,

StringBuilder test = new StringBuilder();
foreach(yourClassname test in yourList)
{
    test.Append(test.name);
}
0
Sajeetharan 26 janv. 2017 à 05:51

Si vous devez concaténer toutes les valeurs:

String chickenVar = "Chicken";
String fishVar = "Fish";

 String result = chickenVar +", " + fishVar;
0
Vijunav Vastivch 26 janv. 2017 à 05:52