![]() |
|
|
![]()
|
|
| hug |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 27.7.2007 Репутация: нет Всего: нет |
Добрый День. Проблема такого:
есть немаленький запросик для бухглатерской формы: Последнее к чему я пришел это разбивка его выполнения из под Делфей на 2 части 1 часть
т.е. идет создание временной таблицы (к сожалению не #) и вставка туда записей. Proc - хранимая процедура, которая так же не так проста (создание временных таблиц\индексов на них. куча логики и прочее) Пытаюсь выполнить эту вставку при помощи ADOCommand. 2 часть
Select выполняю TMSQuery из SDAC 1) если Proc возвращает немного записей <1000 то все идет ОК. если больше то выполнение запроса не идет. Delphi как будто замирает и все. Из под MsSql запрос выполняется великолепно. Из под делфи ADOcommand не может выполнится. Подскажите пожалуйста с чем этим может быть связано? 2) Вначале весь запрос шел в одной сессии из TMSQuery. Использовал #TempTable. Но при большом кол-ве записей запрос также не выполнялся из под Делфи. Из под среды MS SQL все выполняется прекрасно 3)Пробовал ADOQuery. На большом числе записей запрос также не выполнялся 4) Какие есть еще варианты выполнегние большого трудного запроса из под Делфи. Средства ADO\SDAC. Может все запихнуть в ADOCommand. Или оно только для DDL а не для селекта. Вообщем запарился я уже дружить делфи и mssql. повторяюсь из под среды скуля запрос выполнятся отлично и за приемлимое време(даже большое кол-во записей). Бухгалтерия простаивает. Подскажите пожалуйста варианты решения, может-быть свой опыт |
||||
|
|||||
| ALeXandrK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 342 Регистрация: 31.1.2007 Где: Санкт-Петербург Репутация: 2 Всего: 6 |
Оно для любого запроса подходит. Попробуй с его помощью. Про TADOQuery вообще забыть лучше - он был создан как альтернатива TQuery и несет много лишенго. Лучше всего выполнять все запросы с помощью хранимых процедур (TADOStoredProc) и TADOCommand. -------------------- Богат не/ни тот, у кого много, а тот, кому хватает |
|||
|
||||
| hug |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 27.7.2007 Репутация: нет Всего: нет |
я не нашел способа поиметь доступа к датасету возвращенному AdoCommand.
|
|||
|
||||
| ALeXandrK |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 342 Регистрация: 31.1.2007 Где: Санкт-Петербург Репутация: 2 Всего: 6 |
Выдержки из Help`а:
Лучше всего для возрата данных подходит TADODataSet. Им и воспользуйся. Вообще Help хорошая штука и часто выручает, если у тебя его нет, то вот что там написано о компонентах ADO: TADOConnection
TADODataSet
TADOStoredProc
TADOCommand
Главное подчеркнул Это сообщение отредактировал(а) ALeXandrK - 6.10.2007, 12:18 -------------------- Богат не/ни тот, у кого много, а тот, кому хватает |
||||||||||
|
|||||||||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |