因此,这是我当前拥有的代码,当从表中读取一个结果很好时,
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
newValue = reader.GetString(0);
newPageID = reader.GetInt32(1);
}
但是,问题是当有多个行被返回时。我尝试这样做的方式就是这样,
int counter = 0;
List<Trigger> TriggerValues = new List<Trigger>();
while (reader.Read())
{
TriggerValues.Add(new Trigger(reader.GetString(counter), reader.GetInt32(counter+1)));
counter++;
}
但这是行不通的,我认为这是因为读者只会返回一行。有没有简单的方法可以修改我在此处逐行读取的新对象中的内容?谢谢。
看看GetString(0)
GetInt32(1)
,0
和1
是列索引,而不是一行。所以你应该离开它并删除counter
List<Trigger> TriggerValues = new List<Trigger>();
while (reader.Read())
{
TriggerValues.Add(new Trigger(reader.GetString(0), reader.GetInt32(1)));
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句