2010-08-17 2 views
-1

je veux savoir quel est le mal dans cette requête que je veux sélectionner toutes les lignes pour 1 colonneTout sélectionner la ligne pour la requête de colonne spécifique SQL Server 2008

string command = "select money from User_Data"; 
SqlCommand update_money = new SqlCommand(command, con_string.con); 
SqlDataReader money_reader; 
money_reader = update_money.ExecuteReader(); 
+0

simplement mis ... ?????????????? – JonH

+0

soyez plus précis avec votre question. qu'est-ce qui ne va pas? "ça ne marche pas" n'est pas une bonne question. – tenfour

+0

il me donne une exception quand j'ai écrit tempmoney1 = (float) Convert.ToDouble (money_reader.GetValue (0) .ToString()); tempmoney2 = (float) Convert.ToDouble (money_reader.GetValue (1) .ToString()); – kartal

Répondre

2

Vous êtes sur la bonne voie - maintenant une fois vous avez le lecteur de données, vous devez itérer sur les lignes:

string command = "select money from User_Data"; 

SqlCommand update_money = new SqlCommand(command, con_string.con); 
SqlDataReader money_reader = update_money.ExecuteReader(); 

List<decimal> _allValues = new List<decimal>(); 

while(money_reader.Read()) 
{ 
    _allValues.Add(money_reader.GetDecimal(0)); 
} 

Cela suppose votre colonne money serait de type decimal(x,y) ou money sur SQL Server.

+0

je le fais mais quand j'ai écrit decimal moneyValue = money_reader.GetMoney (1); J'ai le handle d'exception (hors de l'index) bien que la table ait 2 rangées !!!! – kartal

+0

@salamonti Parce que la fonction GetMoney (ordinale) où ordinal est l'index de la colonne, pas l'index de la ligne. Ordinal correspond à l'index du champ dans votre instruction select, l'index de la ligne dans votre jeu de résultats. –

+0

ok comment puis-je le corriger? – kartal

Questions connexes