Недостающие строки при вставке DataTable в таблицу базы данных MySQL - PullRequest
0 голосов
/ 10 марта 2020

Я использую следующий код для вставки таблиц данных в MySQL

public void BulkInsert(DataTable userDataTable , string DestinationTableName, string DestinationDatabaseName, MySqlConnection ConnectionString)
{

    try {

        ConnectionString.Open();
        ConnectionString.ChangeDatabase(DestinationDatabaseName);

        using (MySqlTransaction tran = ConnectionString.BeginTransaction(IsolationLevel.Serializable))
        {
            using (MySqlCommand cmd = new MySqlCommand())
            {
                cmd.Connection = ConnectionString;
                cmd.Transaction = tran;
                cmd.CommandText = $"select * from `" + DestinationTableName + "` ORDER By Time DESC LIMIT 0;";

                using (MySqlDataAdapter adapter = new MySqlDataAdapter(cmd))
                {
                    adapter.UpdateBatchSize = 0;
                    using (MySqlCommandBuilder cb = new MySqlCommandBuilder(adapter))
                    {
                        cb.SetAllValues = true;
                        adapter.Update(userDataTable);
                        tran.Commit();
                    }
                };
            }
        }

    }
    catch (Exception ex)
    {
        ex.ToString();
    }

В таблице данных есть 270 строк, но только 78 переносятся в таблицу MySQL,

Таблица данных пользователя содержит строки из нескольких файлов CSV, но, похоже, что в таблице данных 270 строк, передаются только строки первого файла, а остальные игнорируются.

Ошибка не обнаружена catch.

Использование MySQL 5.7 и .NETFramework, версия = v4.5.2

В чем может быть проблема?!

1 Ответ

0 голосов
/ 10 марта 2020

Вы пытались использовать adapter.Insert (userDataTable) вместо adapter.Update (userDataTable)?

Подумайте, чтобы изменить свой код на что-то вроде этого: Альтернативный код для вставки MySql Данные

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...