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

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

Как работать с параметрами в TADOQuery? [D6, MSSQL]


AndrewK ©   (2003-09-12 12:50:00) 

Доброго времени суток.

Подскажите, пожалуйста, как правильно работать с параметрами в TADOQuery.

Задача такая: Нужно динамически создать запрос к базе данных, например

spGetList :Param0, :Param1, :Param2

Количество параметров известно, но не постоянно

Мне необходимо сделать универсальную процедуру для получения данных с помощью хранимых процедур.

Составляю запрос:

Query.SQL.Text := spGetList :Param0, :Param1, :Param2
Подставляю поля:

for I := 0 to 3 do begin
Query.Parameters.ParamByName(":Param"+IntToStr(I)).Value := I;
end;


Открываю:

Query.Open;

Вываливается сообщение:

Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена.

Что можно сделать.

Использую TADOQuery, MS SQL Server 2000, Delphi 6


handra   (2003-09-12 15:13:00) [1]

Parameters.Refresh ? (для TADOStoredProc)


AndrewK   (2003-09-12 13:04:00) [2]

2Nikolay M.: Не удается передать через SQL большие запросы, например текст символов на 1000.

2Hooch: Спасибо. Пробую.


AndrewK   (2003-09-12 12:56:00) [3]

2Nikky: Остроумно


Hooch   (2003-09-12 12:55:00) [4]

Query.Parameters.ParseSql("spGet....",true);
НО ! Лучше вмсето adoQuery использовать adoDataSet
adoDataSet.Commanttext = SQL при этом он сам автоматом разберёт параметры и выставит их типы


Nikolay M.   (2003-09-12 12:55:00) [5]

А зачем в таком случае возиться с параметрами?
Что мешает формировать строку типа "spGetList "1", "2", "3"" руками?


Nikky   (2003-09-12 12:52:00) [6]


> AndrewK © (12.09.03 12:50)


> Что можно сделать.


не ставить перед собой таких задач?


Наверх

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