2016-05-11 29 views
0

我想檢索具有最高得分值的十大數據,並將它們分配給字符串數組,這裏是我的代碼,但我真的不知道該怎麼做。從數據庫檢索值並將其分配到字符串數組

string[] K = new string[10]; 
using (con3) 
{ 
    con3.Open();    
    SqlCommand cms = con3.CreateCommand(); 
    cms.CommandText = "SELECT word FROM wordtable where word.score>= 1 LIMIT 10"; 
    cms.ExecuteNonQuery(); 

} 
con3.Close(); 
+0

是'選擇word'返回單個單元格的值? –

回答

1

,如果你想執行一個查詢不要使用ExecuteNonQuery,使用ExecuteReader

List<string> words = new List<string>(); 
using(var rd = cms.ExecuteReader()) 
{ 
    while(rd.Read()) 
    { 
     string word = rd.GetString(0); 
     words.Add(word); 
    } 
} 
string[] K = words.ToArray(); // or fill your array without the list which is more error-prone. 

側面說明:由於您使用的是using語句來連接將在年底配置這將隱含地關閉它。所以con3.Close()之後using是多餘的。

+0

但你還沒有在你的代碼中使用word.score? – dpointttt

+0

@dpointttt:我沒有使用SQL查詢,因爲您已經使用過它。 sql查詢似乎不成問題。 'cms'是你的'SqlCommand'和'CommandText ='選擇字從wordtable where word.score> = 1 LIMIT 10「'。所以我不知道爲什麼我應該在我的代碼中使用'word.score'。您只選擇「字」列而不是「分數」欄。你想要兩個嗎? –

相關問題