我想将来自datareader对象的数据放在通用列表中.我这样做了但是它不起作用......
我在foreach行中得到强制转换异常错误!
SqlDataReader pointreader = cmd2.ExecuteReader();
var pointt = new List<int>();
while (pointreader.Read())
{
foreach (int item in pointreader)
{
pointt.Add(item);
if (pointt.Contains(point))
{
matchpoint = item;
}
}
}
Run Code Online (Sandbox Code Playgroud)
无法以您描述的方式访问SqlDataReader,因为它未实现IEnumerable.相反,您需要单独访问每个字段:
SqlDataReader puanoku = cmd2.ExecuteReader();
List<int> puann = new List<int>();
while (puanoku.Read())
{
for (int i = 0; i < puanoku.FieldCount; i++)
{
if (puanoku.GetFieldType(i) == typeof(int))
{
// Do something here
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果您只选择了一列并确定它是一个int,那么您可以像这样简化代码:
SqlDataReader puanoku = cmd2.ExecuteReader();
List<int> puann = new List<int>();
while (puanoku.Read())
{
int value = puanoku.GetInt32(1);
// Do something with the int here...
}
Run Code Online (Sandbox Code Playgroud)
这篇文章可能有一些用处.
| 归档时间: |
|
| 查看次数: |
17244 次 |
| 最近记录: |