Копирование случайной строки из одной таблицы в другую во время выполнения - PullRequest
0 голосов
/ 16 мая 2011

У меня есть база данных, в которой есть две таблицы.Один представляет собой таблицу элементов (таблица 1), а другой - таблицу текущих элементов (таблица 2).При загрузке формы мне нужно сгенерировать случайное количество элементов из таблицы table1 и заполнить их таблицей.Я пытался сделать что-то вроде этого:

  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)

Но это не сработало вообще.Кто-нибудь может предложить какие-либо идеи?

1 Ответ

0 голосов
/ 02 августа 2011

Попробуйте мое решение (.net 3.5).Я создал типизированный набор данных с «Table1» и «Table2» с табличными адаптерами (в другом файле с именем dsMain.xsd).Я заполняю свой «SourceTable» данными из «Table1» в БД, затем я беру случайные строки на основе количества строк в «SourceTable» и помещаю их в «TargetTable».Как только в «TargetTable» будут храниться мои данные, я фиксирую их в базе данных с помощью оператора «Update».

    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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...