Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
C++ Builder + ADO + Access + Excel помогите правильно составить запрос на выборку
|
|||
|---|---|---|---|
|
#18+
Добрый день. Мне нужно выбрать данные из Excel в БД Access. Записей в Excel порядка 60000. В Access 2007 составляю SQL запрос: Код: sql 1. 2. Скорость выполнения этого запроса в Access не более секунды. Ввожу в ADOQuery запрос вида: Код: sql 1. Скорость выполнения данного запроса около 15 секунд пытаюсь выполнить код: Код: plaintext 1. 2. 3. 4. 5. Пишет, что не найден параметр "r" В принципе мне нужно передавать путь к базе через параметр. Может быть у кого-нибудь есть какие-нибудь идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 08:41 |
|
||
|
C++ Builder + ADO + Access + Excel помогите правильно составить запрос на выборку
|
|||
|---|---|---|---|
|
#18+
flanderz, В С/C++ слэш нужно экранировать: "d:\\projects\\RAD\\ExcellBase\\11aa.xlsx" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 11:53 |
|
||
|
C++ Builder + ADO + Access + Excel помогите правильно составить запрос на выборку
|
|||
|---|---|---|---|
|
#18+
PPAflanderz, В С/C++ слэш нужно экранировать Прошу прощения, не заметил, что не указал в коде экранирование. В программе оно есть. Но почему билдер выдает ошибку "Parametr "r" not found"? Вроде все правильно указано? Почему параметр не найден? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 14:42 |
|
||
|
C++ Builder + ADO + Access + Excel помогите правильно составить запрос на выборку
|
|||
|---|---|---|---|
|
#18+
flanderz, А ты точно создал этот параметр? в коде видно только обращение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 14:48 |
|
||
|
C++ Builder + ADO + Access + Excel помогите правильно составить запрос на выборку
|
|||
|---|---|---|---|
|
#18+
flanderz, Прежде чем обращаться к параметру по имени, надо добавить этот параметр в коллекцию параметров. Это можно сделать либо вручную: https://msdn.microsoft.com/en-us/library/ms681564(v=vs.85).aspx Либо автоматически, на основе уже существующего запроса: https://msdn.microsoft.com/en-us/library/ms675046(v=vs.85).aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 18:47 |
|
||
|
C++ Builder + ADO + Access + Excel помогите правильно составить запрос на выборку
|
|||
|---|---|---|---|
|
#18+
PPA,White Owl Код: sql 1. Параметр определен в запросе. Разве не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2016, 09:11 |
|
||
|
C++ Builder + ADO + Access + Excel помогите правильно составить запрос на выборку
|
|||
|---|---|---|---|
|
#18+
А почему файл базы не вклеивать прямо в строку? я сильно не уверен, что параметры допустимы в клозе FROM. т.е. select * from :r - это неправильно, парсер должен разобрать запрос до выделения параметров, а как он будет разбирать, если не знает к чему запрашивать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2016, 10:20 |
|
||
|
C++ Builder + ADO + Access + Excel помогите правильно составить запрос на выборку
|
|||
|---|---|---|---|
|
#18+
Vladimir Baskakov, Если передавать строку "[Excel 12.0 XML; HDR=YES; IMEX=1; DATABASE=DATABASE='d:\\projects\\RAD\\ExcellBase\\11aa.xlsx][Sheet1$]'"][Sheet1$]" в параметр, то пишет, что параметр неправильно определен. Представлены неполные или несогласованные сведения. Мне бы в качестве параметра передать путь и имя к Excel файлу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2016, 10:51 |
|
||
|
C++ Builder + ADO + Access + Excel помогите правильно составить запрос на выборку
|
|||
|---|---|---|---|
|
#18+
flanderz, я так и говорю - не надо передавать параметры в секцию FROM. имя базы, таблицы, поля и т.д. - не может быть параметром. не должно. Это нужно вклеивать в тело запроса, а не параметризовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2016, 11:54 |
|
||
|
C++ Builder + ADO + Access + Excel помогите правильно составить запрос на выборку
|
|||
|---|---|---|---|
|
#18+
Спасибо всем, кто участвовал в обсуждении, особенно помог Vladimir Baskakov. Конечный рабочий результат получился таким: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Остался один вопрос: почему в access данный запрос выполняется за секунду, а в программе секунд 10-15. Сколько раньше не работал с Аксессом, такого не было, выборка происходила достаточно быстро. Правда тогда мне не нужно было делать выборку из Экселя. Может у кого-нибудь есть мысли по этому поводу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2016, 12:16 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39325883&tid=2018411]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 168ms |

| 0 / 0 |
