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

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

Результат exec sp_sqlexec @sqlstr... [D6, MSSQL]


Илайдж ©   (2003-11-27 13:20:00) 

Имеется следующее:

declare @sqlstr nvarchar(4000)
set @sqlstr = "select " + @field1 + "," + @field2 + " from " + @tablename + " order by " + @field1 + " desc"

exec sp_sqlexec @sqlstr


В SQL Query anilizer все замечательно выводится, НО!
хотелось бы чтобы с результатом можно было работать, например так

declare myquery cursor for
select field1, field2 from tablename order by field1 desc

open myquery
[тут мы работаем с данными]
close myquery
deallocate myquery

Как осуществить?

+ в догонку, как передать в ADOStoredProcedure подобный результат
Т.е ADOStoredProcedure вызывает sp_sqlexec с параметром @sqlstr и получает [как,куда?] набор данных...

Заранее пасибо.


Илайдж   (2003-11-27 14:03:00) [1]

пасибо, че-то я не подумал про временные.. =)


me   (2003-11-27 14:02:00) [2]

Если нужно работать с рекордсетами - то через временные таблицы. Создаешь ее и заполняешь прямо в динамическом коде, а читаешь из нее вне динамического контекста. BTW точно также можно создать временную таблицу в StoredProcedure, наполнить ее данными и вызывать вложенные StoredProcedure - эта таблица везде будет видна до момента завершения процедуры, ее создавшей


Илайдж   (2003-11-27 13:21:00) [3]

сорри за ошибки в названии тулзы :)


Наверх

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