Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2009.05.24;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.075 c
15-1237977745
Andy BitOff
2009-03-25 13:42
2009.05.24
Пользователям Оперы и знатокам JavaScript


2-1239372348
Alex_C
2009-04-10 18:05
2009.05.24
Thread и CriticalSection


2-1239291893
SP
2009-04-09 19:44
2009.05.24
Как из cgi-приложения узнать запущены ли другие его копии?


6-1203162895
s-vadim
2008-02-16 14:54
2009.05.24
Локальный чат


15-1237755141
korneley
2009-03-22 23:52
2009.05.24
Новая фича?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский