Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADO [D6, MSSQL]


мойша ©   (2003-02-25 16:33:00) 

ADO не позволяет мне создавать SQL-запросы такого вида

CREATE TABLE #t(...)
INSERT INTO #t ....
SELECT * FROM #t

На команду Open ругается такими словами:
"Multiple-step OLE DB operation generated errors. Check OLE DB status value, if available. No work was done."
При этом команда на выполнение на SQL-сервер уходит.

Потом выдает такой Exception:
"Query1: CommandText does not return a record set"
Хотя SQL-сервер возвращает ему все что надо.

Возможно ли обмануть коварный ADO? Как? Возможно есть патчи или более новые версии, которым чужда такая ограниченность.


Fiend   (2003-02-25 17:35:00) [1]

Добрячок это был я :)
забыл ник справить после гадкого ответа в другом топике


Соловьев   (2003-02-25 17:32:00) [2]

Левой ного правое ухо короче.
Делай несколько ADoQuery и не парь мозги не нам не себе.


Добрячок   (2003-02-25 17:31:00) [3]

Усё просто как усегда, и в общем не АДО виновно, а всё как подсказывали выше специфика работы метода Опен и специфика получения рекордсета совместно с процессом обработки батча

надо в общем вот так:
set nocount on
create table #A(fff integer)
insert into #A
values(10)
select * from #A
drop table #A


в конце таблицу можно не грохать


Smashich   (2003-02-25 17:30:00) [4]

а почему двумя последовательными запросами не воспользоваться?


мойша   (2003-02-25 17:29:00) [5]

Open нужен для того, чтобы получить результаты того, что мне селект в последней строчке населектит. ExecSQL мне результата не вернет.


Johnmen   (2003-02-25 17:20:00) [6]

Запрос на то и запрос, что делает что-то определенное...
Смотри в сторону ХП.


Соловьев   (2003-02-25 17:20:00) [7]

А в чем проблема, запрос сначала сделает селект, а потом вставит. Так что УчусЫЙД самое оно. Open не нужен.


мойша   (2003-02-25 17:12:00) [8]

Еслы надо ExecSQL выполнить, то проблем нет. Хочется засунуть в один запрос действие и SELECT. И еще получить RecordSet.


Johnmen   (2003-02-25 16:47:00) [9]

Смотри не обмани себя... И разберись с методами Open и ExecSQL


Наверх

Титульная страница Поиск, карта сайта Написать письмо