Вниз
Скачать: CL | DM;

Как работать с параметрами в TADOQuery?   Найти похожие ветки 

 
AndrewK ©   (2003-09-12 12:50) [0]

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

Подскажите, пожалуйста, как правильно работать с параметрами в 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


 
Nikky ©   (2003-09-12 12:52) [1]


> AndrewK © (12.09.03 12:50)


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


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


 
Hooch ©   (2003-09-12 12:55) [2]

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


 
Nikolay M. ©   (2003-09-12 12:55) [3]

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


 
AndrewK ©   (2003-09-12 12:56) [4]

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


 
AndrewK ©   (2003-09-12 13:04) [5]

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

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


 
handra ©   (2003-09-12 15:13) [6]

Parameters.Refresh ? (для TADOStoredProc)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
1-3828
3APA3A
2003-09-19 00:13
2003.10.02
Есть ли в ListBox е полоса прокрутки


1-3884
Patrick
2003-09-17 14:55
2003.10.02
Запись в реестр посредством API.


3-3782
inwin
2003-09-11 14:43
2003.10.02
Как записать Blob в файл


14-4069
Skywalker
2003-09-15 10:56
2003.10.02
Outlook


3-3759
Term
2003-09-10 11:35
2003.10.02
Как мне взять данные из 1С




   Наверх