Member 12821687 Ответов: 1

Клонирование данных или копирование данных


Пожалуйста, помогите мне, ребята, то, что я действительно хочу, это скопировать данные(1 или все данные) из datatable1 в datatable2. Я застрял в своем коде, не знаю, правильно ли это
dt1 = ds1.Tables(0)
        Dim dt2 As DataTable = ds2.Tables(0)


        da1 = New MySqlDataAdapter("select s_inventoryTab_name, s_inventoryTab_stockonhand,s_inventoryTab_jan,s_inventoryTab_feb from s_medicinetab where s_inventoryTab_year = '" & 2016 & "'", con)
        da1.Fill(ds1)


        For i As Integer = 0 To dt2.Rows.Count - 1
            dt1.ImportRow(dt2.Rows(i))

        Next

Я не знаю, верен ли мой код.Если есть какой-то метод, пожалуйста, направьте меня. Спасибо ребята

Что я уже пробовал:

Кажется, этот код правильный, но я не понимаю
DataTable dtTarget = new DataTable();
    dtTarget = dtSource.Clone();
    DataRow[] rowsToCopy;
    rowsToCopy = dtSource.Select("key='" + matchString + "'");
    foreach (DataRow temp in rowsToCopy)
    {
        dtTarget.ImportRow(temp);
    }

NotPolitcallyCorrect

Если вы не знаете, правильно это или нет, как вы ожидаете, что мы узнаем?

Member 12821687

Мне очень жаль, сэр, но моя проблема заключается в том, куда я должен поместить INSERT sql в первом примере.

1 Ответов

Рейтинг:
2

#realJSOP

DataTable.Clone только копирует структуру / схему - и не копирует данные. Ваш 2-й блок кода иллюстрирует это (он клонирует таблицу, а затем копирует данные по одной строке за раз).


Если вам нужна и схема, и данные, используйте DataTable.Copy метод.


Member 12821687

так что если я использую DataTable.Копировать, нет необходимости использовать INSERT sql или что-то еще, чтобы сохранить данные в datatable2? хммм это немного сбивает с толку