【发布时间】:2011-08-10 13:28:05
【问题描述】:
我有一个函数可以将帐号列表作为 Arraylist 返回。我正在尝试将每个帐户用作另一个子例程中的命令参数,以获取有关每个帐号的更多数据。这仅返回数组列表中最后一个帐号的数据。我需要使用每个帐号,调用数据库,获取附加信息并将所有数据存储到 Gridview(数据绑定)中。示例:如果我的数组列表中有 3 个帐号,则将 3 行数据返回到 gridview。我正在努力解决如何获取 Arraylist 中每个值(帐号)的所有信息。有人可以指出我正确的方向吗?我认为这是可以做到的,但我不确定我的方法是否正确。也许我需要创建包含通过 arraylist 传递的每个值的附加信息的数据表......有什么想法吗??
@jwatts1980 感谢您的评论:我会尽力澄清。我有一个帐号的数组列表(也许这是我偏离轨道的地方)我试图在另一个调用中使用这个 ArrayList 中的值作为命令参数,以返回有关这些帐户的更多信息的不同表/文件。我将提供一部分代码来帮助澄清我正在尝试做什么:
Private Function ReturnMultAccts(ByVal strAcct) As ArrayList
Dim acctsDetail As New ArrayList
Dim dsn As String = ConfigurationManager.ConnectionStrings.ConnectionString
Dim sql As String = "SELECT DISTINCT * FROM FILE WHERE ACCTNUM=?"
Using conn As New OdbcConnection(dsn)
Using cmd As New OdbcCommand(sql, conn)
conn.Open()
cmd.Parameters.Add("ACCTNUM", OdbcType.VarChar, 20).Value = strAcct
Dim rdrUsers As OdbcDataReader = cmd.ExecuteReader()
If rdrUsers.HasRows Then
While rdrUsers.Read()
acctsDetail.Add(Trim(rdrUsers.Item("ACCTNUM")))
End While
End If
rdrUsers.Close()
conn.Close()
End Using
End Using
这将返回一个帐号的 Arraylist(假设它是 3 个帐号)。我从另一个 Sub 调用这个函数:
Private Sub GetMoreAcctInfo(ByVal strAcct)
'Create New ArrayList
Dim MultAccts As New ArrayList
'Pass strAcct to Function to get Multiples
MultAccts = ReturnMultAccts(strAcct)
'Create the variable BachNum for the loop
Dim BachNum As String = MultAccts.Item(0)
For Each BachNum In MultAccts
'Get All of the necessary info from OtherFile based on the BachNum for BOS's
Dim dsn As String = ConfigurationManager.ConnectionStrings.ConnectionString
Dim sql As String = "SELECT ACCTNUM, BILSALCOD1, BILSALCOD2, BILSALCOD3, OTHACCTNUM FROM OtherFile WHERE OTHACCTNUM=?" 'Equal to the items in the arraylist
Using conn As New OdbcConnection(dsn)
Using cmd As New OdbcCommand(sql, conn)
conn.Open()
cmd.Parameters.Add("OTHACCTNUM", OdbcType.VarChar, 20).Value = BachNum
Using adapter = New OdbcDataAdapter(cmd)
Dim DS As New DataSet()
adapter.Fill(DS)
GridView1.DataSource = DS
GridView1.DataBind()
End Using
End Using
End Using
Next
End Sub
希望这能澄清我正在尝试做的事情......??
【问题讨论】:
-
您正在使用....?我觉得你的东西和你的结束
-
抱歉,gridview 之后的时间段放错了......它应该说“......并绑定到我正在使用的 gridview。”很抱歉造成混乱。
-
我将其添加为评论而不是答案,因为我对此并不完全确定。但我认为,如果你从你的函数中返回一个数据数组,该函数采用 acct #,然后将所有这些数组放入一个数组列表(即对象数组的数组列表),那么你可以将该数组列表绑定为数据源网格视图。
标签: vb.net gridview datatable dataset data-binding