Obtenir datarow des valeurs dans une chaîne de caractères?
J'ai un ensemble de données appelé "résultats" avec plusieurs lignes de données. Je voudrais obtenir ces données dans une chaîne de caractères, mais je ne peux pas comprendre comment le faire. Je suis en utilisant le code ci-dessous:
string output = "";
foreach (DataRow rows in results.Tables[0].Rows)
{
output = output + rows.ToString() + "\n";
}
Cependant, je pense que je suis absent quelque chose parce que ce n'est pas de travail. Quelqu'un peut me pointer dans la bonne direction?
- Ce n'est pas de travail? Êtes-vous d'obtenir une exception quelque part?
- Pas d'exception. C'est juste que la valeur de "sortie" n'est pas du tout ce que j'attendais. Mais, je pense que les deux réponses ci-dessous m'ont dirigé vers la bonne solution.
Vous devez vous connecter pour publier un commentaire.
Vous devez indiquer la colonne de la datarow vous souhaitez extraire des données à partir.
Essayez ce qui suit:
J'ai fait beaucoup de moi-même. Si vous avez besoin d'une liste séparée par des virgules pour toutes les valeurs de ligne vous pouvez le faire:
Un StringBuilder est la méthode préférée comme la concaténation de chaîne est significativement plus lente pour les grandes quantités de données.
Vous pouvez obtenir une des colonnes de la valeur en faisant cela,
Vous aurez également cast vers le type approprié.
Votre
rows
objet est titulaire d'unItem
attribut où vous pouvez trouver les valeurs pour chacun de vos colonnes. Vous ne pouvez pas attendre les colonnes pour concaténer eux-mêmes lorsque vous faites un.ToString()
sur la ligne.Vous devez accéder à chaque colonne de la ligne séparément, utiliser un
for
ou unforeach
de marcher sur le tableau de colonnes.Ici, jetez un oeil à la classe: