Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Поле Money


Автор: VAngeL86 25.8.2006, 16:27
Здравствуйте!
Такая вот проблемма:
 Есть таблица (Payment.db) в которой присутвует поле Summa_p типа Money (таблица создавалась в Database Desktop, тип - Paradox 7). Для доступа к этой таблице я использую BDE. Так вот я хочу изменить поле Summa_p через SQL запрос с параметрами:
Код

UPDATE Payment
SET Summa_p = :s
WHERE Number_stud = '061746';


Параметр :s я считываю со StringGrid-а. Но вот во что мне его преобразовывать? 

Код

Query1.ParamByName('s'). {<---что здесь писать?}:= {<--и какой тип должен быть здесь?}


Не AsInteger, не AsFloat, не AsString, не AsShortInt не работают (т.е. прога запускается, но когда я делаю ExecSQL он ругается что не верный тип параметра).
Что странно....если записать запрос без параметра (т.е. вместо :s поставить к примеру 10000) всё выполнится на ура!
Помогите пожалуйста...

Автор: kobra 25.8.2006, 16:38
Query1.ParamByName('s').Value := StrToCurr(строка из StringGrid-а);

Автор: VAngeL86 26.8.2006, 05:49
kobra, Спасибо! Но у меня твой код не сработал! А вот такой работает:
Query1.ParamByName('s').AsCurrency:= StrToCurr(строка из StringGrid-а);

 

Автор: marat333 13.1.2007, 19:50
В параметр "SQL" объекта TQuery всё должно быть типа String, поэтому и параметр smile должен также быть по умолчанию типа string 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)