2010-10-22 17 views
0

Je sélectionne les données de la base de données et dans la boucle while, je veux stocker toutes les données dans une variable. Comment faire ça? La variable selectAnswer est un type de tableau de chaînes.Comment insérer des données dans un tableau de type chaîne?

J'ai utilisé ce code mais cela donne une erreur. Modifiez ce code.

string selectAnswer[] = new string[]; 
while (rdr.Read()) 
{ 
    selectAnswer[] = rdr[0].ToString(); 
} 

Répondre

0

Votre question est assez déroutant. Vous souhaitez stocker les données dans une seule variable ou dans une seule chaîne? Si c'est le cas, pourquoi ne pas utiliser un StringBuilder à la place.

StringBuilder answer = new StringBuilder(); 
while (rdr.Read()) 
{ 
    answer.AppendLine(rdr[0].ToString()); 
} 

Mais je ne suis toujours pas sûr si j'ai mal traité.

Une autre option utilise une liste:

IList<string> answer = new List<string>(); 
while (rdr.Read()) 
{ 
    answer.Add(rdr[0].ToString()); 
} 
answer.ToArray(); 
0

Vous essayez d'affecter une seule chaîne à l'ensemble du tableau au lieu d'une seule chaîne par élément de tableau.

Vous pouvez utiliser un List<string> au lieu d'un tableau de chaînes et simplement ajouter des éléments:

IList<string> selectAnswer = new List<string>(); 
while (rdr.Read()) 
{ 
    selectAnswer.Add(rdr[0].ToString()); 
} 

Pour que cela fonctionne avec un tableau, vous devez d'abord déclarer la variable de tableau avec le nombre de éléments dans le lecteur de données et avoir un compteur pour l'index sur lequel vous insérez.

+0

Tu me devança ... – cjk

2

Utilisez un lieu generic List, il a plusieurs advantages:

List<String> selectAnswer = new List<String>(); 
while (rdr.Read()) 
{ 
    selectAnswer.Add(rdr[0].ToString()); 
} 
Questions connexes