繁体   English   中英

vb.net从数据库获取所有行

[英]vb.net get all rows from database

我正在研究一个项目(在VB.net中),该项目包含一个包含有关产品信息的数据库,一个产品对象类,一个产品列表对象类以及一个使用我的存储过程从数据库中提取所有行的DB类(每行被构造成一个产品,产品被放入产品列表类的数组列表中。 到目前为止,它似乎一直有效,除了在我的数据库类中遇到一个令我感到困扰的错误之外。

 Dim TempList = New ArrayList
        Dim sqlDR As SqlClient.SqlDataReader = PDM.Data.SqlHelper.ExecuteReader(GLOBALS.ConnectionString, "sp_GetAllProducts")

        If sqlDR.HasRows Then
            While sqlDR.Read()
                Dim Prod As New Product
                Prod.PK_ProductID = sqlDR(0)
                Prod.MicrobeadStatus = sqlDR(1)
                Prod.FK_BrandID = sqlDR(2)
                Prod.FK_TypeID = sqlDR(3)
                Prod.FK_Product = sqlDR(4)
                Prod.PK_BrandID = sqlDR(5)
                Prod.BrandName = sqlDR(6)
                Prod.PK_Products = sqlDR(7)
                Prod.ProductName = sqlDR(8)
                Prod.PK_TypeID = sqlDR(9)
                Prod.Type = sqlDR(10)
                TempList.Add(Prod)
            End While
        End If

在此示例代码的第5行中,“产品”(又名“我的产品”类)一词表示我没有为任何参数指定参数。 PK_ProductID,MicrobeadStatus等都已声明,并与Product类中的构造函数放在一起。 到目前为止,我一直没有尝试过的方法似乎无济于事。 有任何想法吗?

正如@Plutonix在评论中建议的那样,听起来Product并没有无参数的构造函数。 如果您的Product构造函数仅具有参数,则必须为每个参数提供一个参数,例如

Dim Prod As New Product(sqlDR(0), ...)

如果您希望能够在不提供任何参数的情况下创建实例,则必须声明一个无参数的构造函数,例如

Public Sub New()
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM