Невозможно загрузить данные из DataTable внутри таблицы SqLite с помощью DataAdapter и SQLiteCommandBuilder.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно загрузить данные из DataTable внутри таблицы SqLite с помощью DataAdapter и SQLiteCommandBuilder.

Сообщение Anonymous »

Я использую Visual Studio Windows Form, C#, и у меня есть база данных SqLite с рабочим соединением. Мне нужно прочитать лист из Excel и сохранить все столбцы и ячейки внутри таблицы в моей базе данных.
Чтобы читать данные из Excel, я установил из NuGet пакеты ExcelDataReader и ExcelDataReader.DataSet.Все работает нормально, пока я не попытаюсь загрузить DataTable внутри базы данных таблицы с помощью адаптера.Update(dt) В режиме отладки я вижу, что dt заполнен правильно и все строки и столбцы успешно прочитаны от ExcelDataReader. Кстати, когда я вызываю метод .Update(dt) SQLiteDataAdapter, он не выдает никаких исключений, но база данных таблицы просто не обновляется.
Вот мой код:
Вот мой код:

Код: Выделить всё

            System.Data.DataTable dt = new System.Data.DataTable();

SQLiteConnection Con = new SQLiteConnection(DataSource);
Con .Open();
//read the .xlsx Excel
FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read);
var reader = ExcelReaderFactory.CreateReader(stream);
//change all columns name
DataSet result = reader.AsDataSet(new ExcelDataSetConfiguration()
{
ConfigureDataTable = (_) => new ExcelDataTableConfiguration()
{
UseHeaderRow = true
}
});

//in debug mode I see dt correctly populated
dt = result.Tables[0];

SQLiteDataAdapter adapter2 = new SQLiteDataAdapter("SELECT Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8 FROM TableDB", Con);

SQLiteCommandBuilder SQLBuilder2 = new SQLiteCommandBuilder(adapter2);
SQLiteTransaction trans = GestoreSpuntisti2.BeginTransaction();
adapter2.Update(dt);
trans.Commit();

Con.Close();

Тип данных столбцов Excel такой же, как и столбцы TabeleDB.
Я использую метод .Update во многих других случаях, и он всегда работает нормально, но теперь, когда я его использую при чтении Excel что-то идет не так, но я не знаю что.
Можете ли вы мне помочь? Спасибо вам большое.

Подробнее здесь: https://stackoverflow.com/questions/790 ... nd-sqlitec
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»