在我的代码中,我有一个函数,它从数据库返回一行数据。它使用Structure
返回数据,因此我可以返回多于1个数据。
例如:
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
这适用于单行。我的问题是,如何让函数返回超过1行的数据?
答案 0 :(得分: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
答案 1 :(得分:0)
是的,您可以返回某种类型的集合。您可能会对此语法选项略有限制,因为您的标记建议您使用的是.NET的第一个版本。 (1.1 - 这是真的吗?)
使用最新版本的.NET和C#,我将返回List<structure_name>
。但是还有很多其他选择。
就从数据库中获取数据而言,数据库非常擅长返回多行。但是,您需要提供有关哪个数据库以及如何获取数据的更多详细信息,以便就如何将其传输到C#集合提出建议。
答案 2 :(得分:0)
很抱歉,自从VB以来C#
已经有一段时间了为什么不使用像List这样的集合
List<structure_name> structure_names = new List<structure_name>();
structure_names.Add(single_row_strucure); // repeat