我想检索具有最高得分值的十大数据并为它们分配字符串数组,这是我的代码,但我实际上并不知道如何做到这一点。
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 :(得分: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
是多余的。
答案 1 :(得分:0)
使用 ExecuteReader 读取sql查询返回值。
有关详细信息,请查看以下链接: Fill an array (or arraylist) from SqlDataReader 和 Use SqlDataReader and string array