Я пытаюсь скопировать строки из одного DataTable
в другой, но только копировать строки, где данные еще не сохранены в таблице базы данных.Копирование строк из одного DataTable в другое Отображает ничего
SQL
сторона этого работает нормально, он возвращает правильное число столбцов, однако, когда я добавляю строки, которые были найдены на мой второй DataTable
и установить его в качестве DataSource
для моей сетки, нет никаких данных, отображаемых , хотя есть добавленная строка, так как селектор строк виден.
Что я делаю неправильно, и почему данные не копируются?
lftable = New DataTable
Try
For Each dc As DataColumn In lineTable.Columns
lftable.Columns.Add()
Next
Dim ds As New DataSet
For Each row As DataRow In lineTable.Rows
Dim da As New OleDbDataAdapter("SELECT * FROM [Order_Freight] WHERE [Order_Number] = ? AND [Product_Code] <> ?", con)
da.SelectCommand.Parameters.Add("@num", OleDbType.Integer).Value = orderNum
da.SelectCommand.Parameters.Add("@prod", OleDbType.VarChar).Value = row.Item("Product_Code")
da.Fill(ds)
For Each dr As DataRow In ds.Tables(0).Rows
Dim nRow = lftable.Rows.Add()
nRow.ItemArray = dr.ItemArray()
Next
Next
ugProducts.DataSource = lfTable
Скриншот сетки после присвоения ему DataSource
@ AlexB. Ошибка компиляции - выражение не производит значение – David
Да, мой комментарий был вздор. См. Мой ответ. –