根据 DataReader 数据填充对象数组
Posted
技术标签:
【中文标题】根据 DataReader 数据填充对象数组【英文标题】:Populate an Array of Object Based on DataReader Data 【发布时间】:2010-06-30 19:41:23 【问题描述】:我不确定如何正确表达我的问题,但我想实现这样的目标。
我有一个名为 Products 的类
public class Products
private ID as Integer
private Name as String
Public Property ProductID()
Get
Return ID
End Get
Set(ByVal value)
ID = value
End Set
End Property
在我的页后代码中,我从 SQL 命令中检索数据并将其放入数据读取器对象中。
我怎样才能声明这个类,以便我的数据阅读器中的每一行实际上都是所述类的一个实例?
例如:
Dim myProduct() as New Product
Dim intCnt as Integer
While datareaderData.read()
intCnt += 1
myProduct(intCnt) = new Product
myProduct(intCnt).ID = datareaderData("ID")
myProduct(intCnt).Name = datareaderData("Name")
End While
当我这样做时,我收到一个错误“对象引用未设置为对象的实例。
我对这个很困惑。非常感谢任何提示。谢谢。
【问题讨论】:
【参考方案1】:您应该使用 Arraylist 或 - 更好 - generic List(of Product)。 此外,我会 strongly recommend 在您项目的编译器设置中设置 Option Strict On。
Dim products As New List(Of Product)
While datareaderData.read()
Dim nextProduct As New Product
nextProduct.ProductID = CType(datareaderData("ID"), System.Int32)
nextProduct.Name = datareaderData("Name").ToString
products.add(nextProduct)
End While
【讨论】:
以上是关于根据 DataReader 数据填充对象数组的主要内容,如果未能解决你的问题,请参考以下文章
asp sql datareader如何把数据集转成json对象