我从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();
答案 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();