我有一个包含两个表的数据库。一个是项目表(table1),另一个是当前项目表(table2)。 在表单加载时,我需要从table1生成随机数量的项目并用它们填充table2。我试图做这样的事情:
While numberofitems >= 1
Dim i As Integer
index = myGenerator.Next(_minitem, _maxitem)
i = _itemsListBindingSource.IndexOf(index)
_bindingSource.Add(_itemsListBindingSource.Item(i))
numberofitems -= 1
End While
Me.ItemsTableAdapter1.Fill(Me.Items2DataSet1.Items)
但那根本不起作用。任何人都可以提出任何想法吗?
答案 0 :(得分:0)
尝试我的解决方案(.net 3.5)。我创建了一个带有“Table1”的类型化数据集和一个带有tableadapters的“Table2”(在另一个名为dsMain.xsd的文件中)。我用“Table1”中的数据填充我的“SourceTable”,然后根据“SourceTable”中的行数抓取随机行,并将它们放在“TargetTable”中。一旦“TargetTable”中包含我的数据,我就会使用“更新”语句将其提交到数据库。
Dim SourceTable = (New dsMainTableAdapters.Table1TableAdapter).GetData
Dim TargetTable As New dsMain.Table2DataTable
Dim MyRandom As New Random()
Const DesiredRowCount As Int32 = 20
For i = 1 To DesiredRowCount
Dim RandomRow = SourceTable(MyRandom.Next(0, SourceTable.Count))
TargetTable.AddTable2Row(RandomRow(0))
Next
With (New dsMainTableAdapters.Table2TableAdapter)
.Update(TargetTable) 'Save my data to the DB'
End With