Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Aumi
17 / 23 / 14
Регистрация: 08.10.2015
Сообщений: 383
Завершенные тесты: 2
#1

Из DataTable в Access

16.10.2017, 15:23. Просмотров 190. Ответов 4
Метки нет (Все метки)

Здравствуйте,
Есть такая возможность, имея DataTable tbl с данными, перенести все строчки в Access? Структура одинаковая
Я уже окончательно запуталась в порядке действий. Не подскажете теорию?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2017, 15:23
Ответы с готовыми решениями:

Загрузка в datatable несколькими запросами (MS Access)
Есть БД в MS Access. Мне нужно получить из нее данные следующими запросами...

Ошибка при добавление DataTable в MS Access
Привет Всем, не могли бы Вы, уважаемые форумчане, помочь найти ошибку в...

Как записать dataTable в таблицу базы Access
Народ, как записать предварительно заполненную dataTable в таблицу базы Access?...

Запрос к связанным таблицам (Access), через Datatable с выводом в два Combobox
Всем доброго. Помогите кто с проблемкой, есть две связанные таблицы Statiy...

Как из одного datatable перенести столбец в другой datatable?
Здравствуйте! Кто может подсказать: как из одного datatable перенести столбец...

4
hoolygan
349 / 276 / 76
Регистрация: 21.06.2016
Сообщений: 1,091
16.10.2017, 16:25 #2
Смотря на сколько большая таблица, и либо перенос либо обновление.
Есди просто перенос, то делайте скрипт на шарпе в цикле, по 50-70 строк, а с обновлением то аккуратней, чтобы не задвоить.
0
Aumi
17 / 23 / 14
Регистрация: 08.10.2015
Сообщений: 383
Завершенные тесты: 2
16.10.2017, 17:17  [ТС] #3
hoolygan, столбцов не больше 10, да и строк где то не больше 15.
Можно по подробнее про перенос?
0
hoolygan
349 / 276 / 76
Регистрация: 21.06.2016
Сообщений: 1,091
16.10.2017, 18:19 #4
Ну так а куда уж подробней-то.
Для скрипта access нужна строка вида insert into... values....
Вот и стройте строку внутри цикла, перебирая Ваши элементы и добавляя поочередно.
А потом за 1 раз открывайте соединение и втюхивайте эту строку акцесу.
Я не приверженец писать много исходного кода. Если человеку это нужно, то считаю, что лучше дать сторону, в которой нужно гуглить, так чему-то научится, чем тупо копипастил и ничего не понял.
1
OwenGlendower
Супер-модератор
Эксперт .NET
9075 / 8019 / 3427
Регистрация: 17.03.2014
Сообщений: 15,858
Записей в блоге: 1
16.10.2017, 20:24 #5
Aumi, можно с помощью data adapter.
C#
1
2
3
4
5
6
7
8
9
10
DataTable table = ...;
 
OleDbCommand insertCommand = new OleDbCommand("INSERT INTO TableName (Column1, Column2) VALUES(?, ?)", connection);
insertCommand.Parameters.Add("Column1", OleDbType.VarChar, 40, "Column1");
insertCommand.Parameters.Add("Column2", OleDbType.VarChar, 40, "Column2");
        
OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
dataAdapter.InsertCommand = insertCommand;
 
dataAdapter.Update(table);
Вызов dataAdapter.Update(table) выполнит INSERT запрос для строк с DataRowState.Added, UPDATE для DataRowState.Modified и DELETE для DataRowState.Deleted. При необходимости можно явно пометить все строки как добавленные
C#
1
2
3
4
foreach (DataRow row in table.Rows)
{
    row.SetAdded();
}
Если DataTable изначально заполнялась через dataAdapter, то можно воспользоваться им и OleDbCommandBuilder для автоматической генерации INSERT команды
C#
1
2
3
4
5
6
7
8
DataTable table = ...;
OleDbDataAdapter dataAdapter = ...;
 
OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(dataAdapter);
// Генерация INSERT команды, у dataAdapter должна быть указана SelectCommand
commandBuilder.GetInsertCommand();
 
dataAdapter.Update(table);
2
16.10.2017, 20:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2017, 20:24

datatable
можно ли заполнить один столбец datatable из разных столбцов разных таблиц (тип...

Datatable в бд
Форумчане хэээлп! Выгружаю я данные в datatable вывожу их в...

Insert в БД из DataTable
Господа, подскажите как сделать инсёрт в БД из ДатаТейбл. Вот заполняю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru