Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.24;
Скачать: CL | DM;

Вниз

ODAC. Параметризованные запросы.   Найти похожие ветки 

 
checkmate-maker   (2008-09-15 09:28) [0]

Здравствуйте. Помогите разобраться.
После выполнения следующего участка кода сообщение не выдается(запрос пустой - ничего не вернул, но и не ругался)

var
 lOpenSQL: TOpenSQL;

...

 lSQLString := "Select sec_name from pr_sec where sec_id = :S_ID";
 lOpenSQL := TOpenSQL.CreateWithParams(lSQLString);
 try
   lOpenSQL.DeclareVariable("S_ID", ftInteger);
   lOpenSQL.SetVariable("S_ID", 0);
   lOpenSQL.ReOpen;
   if not lOpenSQL.IsDone then
     ShowMessage(lOpenSQL.FieldAsString(0));
 finally
   lOpenSQL.Free;
 end;


Уточню TOpenSQL класс с приватным FOraQuery: TOraQuery.
Метод CreateWithParams:

 FOraQuery := TOraQuery.Create(nil);
 FOraQuery.Connection := Form1.OraSession1;
 FOraQuery.SQL.Text := SQL;

Метод DeclareVariable:

 FOraQuery.Params.CreateParam(AType, AName, ptInput);

Метод SetVariable:

 FOraQuery.ParamByName(AName).Value := AValue;

Метод ReOpen:

 FOraQuery.Open;

Метод IsDone:

 Result := FOraQuery.Eof;


 Чтобы исключить лишние уточнения добавлю: запрос без параметров работает "на ура". ODAC 5.1.

 Спасибо за помощь.


 
Поросенок Винни-Пух ©   (2008-09-15 09:58) [1]

Зачем этот изврат?

FOraQuery.Params.CreateParam(AType, AName, ptInput);


 
Sergey13 ©   (2008-09-15 10:01) [2]

> [0] checkmate-maker   (15.09.08 09:28)
> запрос пустой - ничего не вернул, но и не ругался

Ну так наверное нет значений с S_ID=0.
А какой смысл во всех ухищрениях с подменой методов?


 
Поросенок Винни-Пух ©   (2008-09-15 10:05) [3]

передать из обертки текст sql, установить значение параметра. все.


 
checkmate-maker   (2008-09-15 10:42) [4]

Всем спасибо за участие в решении вопроса.

 Я разобрался сам. Необходимо было устанавливать
FOraQuery.ParamCheck := false;

 Надеюся решение кому-нибудь пригодится. В инете подобного не нашел.


 
Поросенок Винни-Пух ©   (2008-09-15 10:43) [5]

Это в штатной доке описано черным по белому


 
ANB   (2008-09-15 17:54) [6]


> checkmate-maker   (15.09.08 09:28)

Делаем из одака доа ?



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

Текущий архив: 2009.05.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
15-1237805266
немо2
2009-03-23 13:47
2009.05.24
Чем Express Editions отличаются от других версий SQL Server?


2-1239643253
VoznikVopros
2009-04-13 21:20
2009.05.24
Как изменить заголовок окна при вызове ShowMessage()?


15-1237738703
Тимохов
2009-03-22 19:18
2009.05.24
Пролейте свет, знатоки, PHP5 + MySQL+Apache.


15-1236634211
Юрий
2009-03-10 00:30
2009.05.24
С днем рождения ! 10 марта 2009 вторник


2-1239268491
Knight
2009-04-09 13:14
2009.05.24
RaveReport и сумма прописью...