0

私のコードには、データベースから 1 行のデータを返す関数があります。を使用してデータを返すStructureので、複数のデータを返すことができます。

例えば:

Public Structure structure_name
    Public column1 as integer
    Public column2 as string
    Public column3 as string
End Structure

Function function_name() As structure_name
    Dim single_row_structure as structure_name

    'get single row from database
    'assign single row values to attributes of Structure

    single_row_strucure.column1 = dbcol1
    single_row_strucure.column2 = dbcol2
    single_row_strucure.column3 = dbcol3

    return single_row_strucure
End Function

これは、単一の行でうまく機能します。私の質問は、関数が複数のデータ行を返すようにするにはどうすればよいですか?

4

3 に答える 3

1
Function function_name() As structure_name()

    Dim rows(2) as structure_name
    rows(0).column1 = dbcol1
    rows(0).column2 = dbcol2
    rows(0).column3 = dbcol3
    rows(1).column1 = dbcol1
    rows(1).column2 = dbcol2
    rows(1).column3 = dbcol3

    return rows
End Function

http://www.vb-helper.com/howto_net_declare_arrays.html

于 2013-03-14T15:52:31.330 に答える
0

VBからしばらく経ちましたので、C#

リストのようなコレクションを使ってみませんか

List<structure_name> structure_names = new List<structure_name>();

structure_names.Add(single_row_strucure);  // repeat
于 2013-03-14T16:08:11.840 に答える
0

はい、何らかのコレクションを返すことができます。タグが最初のバージョンの .NET を使用していることを示唆しているため、この構文オプションは少し制限されている可能性があります。(1.1 -- 本当ですか?)

最新バージョンの .NET と C# を使用すると、List<structure_name>. しかし、他にもたくさんのオプションがあります。

データベースからデータを取得する限り、データベースは複数の行を返すのが得意です。ただし、データを C# コレクションに転送する方法を提案するには、どのデータベースとどのようにデータを取得しているかについて、より詳細な情報を提供する必要があります。

于 2013-03-14T15:46:13.813 に答える