У меня есть функция, которая возвращает список номеров счетов в виде Arraylist.Я пытаюсь использовать каждую учетную запись в качестве параметра команды в другой подпрограмме, чтобы получить больше данных о каждом номере учетной записи.Это только возвращает данные для последнего номера счета в массиве.Мне нужно использовать каждый номер счета, позвонить в базу данных, получить дополнительную информацию и сохранить ВСЕ данные в Gridview (привязка данных).Пример: если в моем массиве было 3 номера аккаунта, верните 3 строки данных в сетку.Я борюсь с тем, как получить ВСЕ сведения для каждого значения (номера счета) в 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
Это возвращает массив номеров счетов (допустим, это 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
Надеюсь, это проясняет, что я пытаюсь сделать ... ??