Главная страница
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.014 c
15-1237378003
Styx_
2009-03-18 15:06
2009.05.24
Шестнадцатиричные числительные


3-1221062245
mini
2008-09-10 19:57
2009.05.24
сервисы и Interbase не дружат?


2-1239019902
Лёша
2009-04-06 16:11
2009.05.24
Как из цвета получить его негатив?


2-1239003940
dreamse
2009-04-06 11:45
2009.05.24
Отследить подключение устройства в без оконом приложении


11-1200582121
MTsv DN
2008-01-17 18:02
2009.05.24
Странная вещь...