您可以使用用户输入填充数据集吗?

时间:2016-04-29 13:15:48

标签: vb.net dataset

我需要将用户输入(从控制台输入)存储到Visual Basic中的数据集。这可能吗?我似乎无法在网上找到任何关于这样做的信息。如果有人能指出我正确的方向,那就太棒了!

编辑:我的表中的列是名为Person的表中的FirstName,LastName,State等。 控制台应用程序的开始:“输入FirstName:”,然后输入“EnterLastName:”等。

用户输入的值存储在特定变量中,例如。 firstName,lastName,所以我想知道如何将这些变量放在数据集中。

谢谢。

2 个答案:

答案 0 :(得分:1)

这是一个简短的基本例子。很可能它不会直接用于您需要的东西,因为您可能希望使用类型化数据集等。由于您的问题未指明有关您可能已经尝试过的代码的问题,因此我将提供此内容。

if (sideA == 0) { ... }
angleX = (int) Math.round(
        Math.toDegrees(Math.acos(((double)sideC) / sideA)));

答案 1 :(得分:0)

如果您不知道列名,可以使用反射来获取输入对象属性的名称。您还可以使用属性来过滤属性。使用DataTable.LoadDataRow方法将数组加载为行。 这是一个如何动态做的例子:

Dim input As New List(Of Object)
For i = 0 To 5  
    Console.WriteLine("enter your first name and last name:")  
    input.Add(New With {.First = Console.ReadLine, .Last = Console.ReadLine})  
Next  

Dim myData As New DataSet  
Dim table = myData.Tables.Add()
table.Columns.AddRange(input.First.GetType.GetProperties.Select(Function(p) New DataColumn(p.Name)).ToArray)
input.ForEach(Function(o) table.LoadDataRow(o.GetType.GetProperties.Select(Function(p) p.GetValue(o, Nothing)).ToArray, False))  

For Each row In table.Rows  
    Console.WriteLine("first:{0} ,Last:{1}", row(0), row(1))  
Next