Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2014, 17:37   #1
terexa
Пользователь
 
Регистрация: 05.12.2014
Сообщений: 11
По умолчанию Вопрос: отображение вещественных значений из БД Access в DBGrid

При выводе вещественных значений из БД Access (температура воздуха с точностью до десятых) с использованием TADOQuery,TDBGrid выводятся значения до 13 знака после запятой, а нужно только до первого.
Прошу помочь.

with MySQLQuery do
begin
SQL.Clear;
Zapros:='INSERT INTO HourData (Data,TimeMs,TemperatureInside,Temp eratureStreet,DataFull) VALUES ( :pData, :pTimeMs, :pTempInside, :pTempStreet, :pDataTime);';
SQL.Add(Zapros);
Parameters.ParamByName('pData').Val ue:=DateOf(Now);
Parameters.ParamByName('pTimeMs').V alue:=TimeOf(Now);
Parameters.ParamByName('pTempInside ').Value:=ExcelQuery.Fields.fields[2].AsSingle;
Parameters.ParamByName('pTempStreet ').Value:=ExcelQuery.Fields.fields[3].AsSingle;
Parameters.ParamByName('pDataTime') .Value:=Now;
ExecSQL;
Close;
SQL.Clear;
SQL.Add('SELECT * FROM HourData');
// TFloatField(MySQLQuery.FieldByName( 'pTempStreet')).DisplayFormat := ',0.0';
// TFloatField(MySQLQuery.FieldByName( 'TemperatureStreet')).DisplayFormat := ',0.0';
// Parameters.ParamByName('pTempInside ').NumericScale:=1;
Open;
end;

Закомментированные варианты не помогли... вплоть до ошибки, что нет такого поля...или, может, не там их указываю?
Изображения
Тип файла: jpg 1.jpg (44.4 Кб, 64 просмотров)
terexa вне форума Ответить с цитированием
Старый 05.12.2014, 18:44   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

TFloatField свойство DisplayFormat например '#0.0;-#0.0;#'

ADD

Задавать после Open
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 05.12.2014 в 18:53.
Аватар вне форума Ответить с цитированием
Старый 08.12.2014, 12:51   #3
terexa
Пользователь
 
Регистрация: 05.12.2014
Сообщений: 11
По умолчанию Спасибо

Все работает.
with MySQLQuery do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM HourData');
Open;
TFloatField(MySQLQuery.FieldByName( 'TemperatureInside')).DisplayFormat := ',0.0';
TFloatField(MySQLQuery.FieldByName( 'TemperatureStreet')).DisplayFormat := ',0.0';
end;
Интересно, почему не срабатывает до Open?
terexa вне форума Ответить с цитированием
Старый 08.12.2014, 13:02   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Потому что до Open полей не находило
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.12.2014, 14:33   #5
Konstantin_ua
Не судите строго
Форумчанин
 
Аватар для Konstantin_ua
 
Регистрация: 31.03.2011
Сообщений: 202
По умолчанию

только хотел писать о той же проблеме, спасибо за информацию
Konstantin_ua вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заполнение и отображение значений Pasha_Z Microsoft Office Excel 10 07.02.2014 12:53
Отображение в DBGrid Oliklenatik БД в Delphi 2 28.05.2012 17:34
Кодирование вещественных значений субполосных отсчетов MPEG-1 Layer II CKEJI Помощь студентам 0 08.05.2009 23:52
отображение иконок в DBGrid Yoger БД в Delphi 3 04.03.2007 02:33