从SQL Server数据库中检索更多数据

时间:2016-07-21 11:07:59

标签: c# sql sql-server database

我从SQL表格' Zupanije'中获取2个变量,但我不知道如何使用它们。我尝试了下面的代码但它需要两次密钥,而不是密钥和值。

sqlCmd.CommandText = "SELECT COUNT(*) From Zupanije";
conn.Open();
int count = (int)sqlCmd.ExecuteScalar();
conn.Close();

sqlCmd.CommandText = "SELECT Naziv, Sifra From Zupanije";
conn.Open();
using (var zupanijeReader = sqlCmd.ExecuteReader())
{
    while (zupanijeReader.Read())
    {
        for (int i=0; i <= count; i++)
        { 
            izborZupanija.Add(zupanijeReader[i].ToString(), 
                              Convert.ToDouble(zupanijeReader[i]));
        }
    }
}
conn.Close();

2 个答案:

答案 0 :(得分:0)

阅读器通过其索引器公开一列列。您使用变量i两次选择相同的列。如果数据类型在数据库中已经正确,您应该使用阅读器上的辅助方法来提取值,即reader.GetString(0)reader.GetDouble(1)

答案 1 :(得分:0)

我同意@leetibbett。当您调用Read()时,SqlDataReader将迭代每个结果。然后使用SqlDataReader.GetString和SqlDataReader.GetDouble方法拉出每个列值,并将列索引作为参数传入。

sqlCmd.CommandText = "SELECT Naziv, Sifra From Zupanije";
conn.Open();
using (var zupanijeReader = sqlCmd.ExecuteReader())
{
    while (zupanijeReader.Read())
    {
        izborZupanija.Add(zupanijeReader.GetString(0), zupanijeReader.GetDouble(1));
    }
}
conn.Close();