2010-08-17 74 views
-1

我想知道什麼是錯在此查詢我要選擇所有的行1列選擇所有的行具體列的查詢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

簡單地說... ?????????????? – JonH 2010-08-17 19:16:00

+0

對您的問題更具體。究竟是什麼錯誤? 「它不起作用」不是一個好問題。 – tenfour 2010-08-17 19:16:24

+0

當我寫 時它給了我一個例外tempmoney1 =(float)Convert.ToDouble(money_reader.GetValue(0).ToString()); tempmoney2 =(float)Convert.ToDouble(money_reader.GetValue(1).ToString()); – kartal 2010-08-17 19:32:18

回答

2

你在正確的軌道上 - 現在一次你有數據讀取器,你需要遍歷行:

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)); 
} 

這裏假設你的money列將SQL Server上decimal(x,y)類型或money的。

+0

我這樣做,但當我寫 十進制moneyValue = money_reader.GetMoney(1); 我得到異常處理(超出索引),雖然表有2行! – kartal 2010-08-17 19:18:13

+0

@salamonti因爲GetMoney(ordinal)函數,其中ordinal是列索引,而不是行索引。 Ordinal對應於select語句中字段的索引,即結果集中行的索引。 – 2010-08-17 19:19:06

+0

好的,我該如何糾正它? – kartal 2010-08-17 19:30:38