1 / 1 / 0
Регистрация: 30.03.2017
Сообщений: 133
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MS Access Многопоточная запись в базу данных access25.10.2019, 22:06. Показов 4249. Ответов 32
друзья столкнулся с такой ситуацией пишу в потоках данные в таблицу через adoquery. В итоге данные в таблице перемешаны, есть ли способ писать данные по порядку?
0
|
25.10.2019, 22:06 | |
Ответы с готовыми решениями:
32
Нужно создать электронную запись на приём к врачу в Access базу данных, и сделать саму программу в delphi Запись в базу данных Access Запись в базу данных Access Запись в базу данных access |
1 / 1 / 0
Регистрация: 30.03.2017
Сообщений: 133
|
|
13.11.2019, 01:35 [ТС] | 21 |
0
|
1 / 1 / 0
Регистрация: 30.03.2017
Сообщений: 133
|
||||||
13.11.2019, 05:30 [ТС] | 22 | |||||
Ура заработало был косяк в таблице...
вот рабочий пример может кому нужно скорость записи колоссальная я тестил 100000 записей
0
|
32 / 26 / 7
Регистрация: 18.10.2019
Сообщений: 187
|
|
13.11.2019, 09:33 | 23 |
Не надо заводить в SQLite своего поля счетчик, оно уже для каждой таблицы автоматом создается и называется RowID и автоматом получает индекс, просто скрыто от глаз, но обратится к нему можно.
0
|
1 / 1 / 0
Регистрация: 30.03.2017
Сообщений: 133
|
||||||
13.11.2019, 12:41 [ТС] | 24 | |||||
Вы имеете ввиду если убрать столбец id полностью из таблицы? стоит в таблице а id как ключевое without для RowID
0
|
32 / 26 / 7
Регистрация: 18.10.2019
Сообщений: 187
|
||||||||||||||||
13.11.2019, 12:58 | 25 | |||||||||||||||
Да, уберите эту инструкцию WITHOUT ROWID и свой столбец ID - он дублирует уже имеющийся RowID
Добавлено через 3 минуты Просто в SQLite если выполнить запрос
Добавлено через 9 минут Ну а для отображения именно нумерации записей по порядку (не путать с RowID), независимо от порядка сортировки есть специальная инструкция:
0
|
1 / 1 / 0
Регистрация: 30.03.2017
Сообщений: 133
|
|||||||||||||||||||||
13.11.2019, 13:51 [ТС] | 26 | ||||||||||||||||||||
Благодарю
Добавлено через 51 минуту Дополнительный вопрос ? а есть возможность использовать такую конструкцию для быстрой загрузки в DBchart? Я использую так:
0
|
32 / 26 / 7
Регистрация: 18.10.2019
Сообщений: 187
|
||||||
13.11.2019, 14:51 | 27 | |||||
Добавлено через 31 минуту Как я понял вам нумерация в запросе нужна для вывода порядкового номера значения? Для DBChart этого делать не надо, он сам нумерует значения по порядку, причем выводит на экран не все значения, а только то что на экран помещается. А в коде настройка DBChart для отображения данных запроса очень проста:
1
|
2 / 2 / 0
Регистрация: 03.06.2018
Сообщений: 140
|
|
21.12.2023, 14:47 | 28 |
0
|
3586 / 2195 / 693
Регистрация: 29.05.2013
Сообщений: 9,376
|
|
21.12.2023, 16:08 | 29 |
Если будете использовать для подключения к акцесу не Ado, а FDac, то должно и там работать. Попробуйте.
Добавлено через 1 минуту В принципе можно и с Ado пачкой писать, там для этого есть режим BatchMode
0
|
2 / 2 / 0
Регистрация: 03.06.2018
Сообщений: 140
|
|
21.12.2023, 16:29 | 30 |
А можно поподробнее, в каком компоненте это посмотреть?
Я посмотрел на количество компонентов и свойства... Что-то там явно не на скорую руку рассчитано, или можно обойтись малой кровью при переходе с ADO?
0
|
3586 / 2195 / 693
Регистрация: 29.05.2013
Сообщений: 9,376
|
|
21.12.2023, 16:46 | 31 |
Для датасетов в Ado есть параметр LockType. По умолчанию он выставлен как ltOptimistic и в этом режиме запись в базу идет сразу после пост-команды, но если LockType=ltBatchOptimistic, то в этом случае запись в базу будет выполнена только после выполнения метода UpdateBatch. Это позволяет накопить пачку записей и записать их в базу одной командой. Я не помню, если там ограничение на это количество, но использование этого метода очень сильно может ускорить множественную вставку записей в базу.
1
|
2 / 2 / 0
Регистрация: 03.06.2018
Сообщений: 140
|
|
21.12.2023, 17:04 | 32 |
и курсор, как я понял, должен быть на стороне клиента, чтобы эта связка работала?
0
|
3586 / 2195 / 693
Регистрация: 29.05.2013
Сообщений: 9,376
|
|
21.12.2023, 17:06 | 33 |
Вот этого не помню, читайте доки.
Добавлено через 1 минуту Теоретически это совсем не обязательно, ведь они копятся в кэше клиента, а состояние курсора на каш клиента не может влиять.
0
|
21.12.2023, 17:06 | |
21.12.2023, 17:06 | |
Помогаю со студенческими работами здесь
33
запись из txt файла в базу данных Access Как программно добавить запись в базу данных access через datagridview? Запись в базу access ADO Как заполнить базу данных Access с помощью vba в том же access и считать из нее инфу? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |