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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2011, 06:32   #1
Marryy
Пользователь
 
Регистрация: 11.06.2011
Сообщений: 14
По умолчанию особенности при добавлении в таблицу данных типа Real

Подскажите пожал. Есть ли особенности при добавлении в таблицу данных типа Real.
Пытаюсь добавлять так:

StrQuery:='insert into Temperature (p2) values ( ' + FloatToStr(N) +' )';

N - перемен. типа real
р2 - поле таб. Размер поля - Одинарное с плавающей точкой

При запуске прог. ошибка - "Не совпадает число значений запроса и число результирующих полей ".
Когда N integer и
StrQuery:='insert into Temperature (p2) values ( ' + IntToStr(N) +' )';
все работает нормально. В чем кроется ошибка?

Последний раз редактировалось Marryy; 12.06.2011 в 07:08.
Marryy вне форума Ответить с цитированием
Старый 12.06.2011, 08:56   #2
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

ошибка скорее всего связана с decimalseparator. Используйте параметрические запросы и будем вам счастье.
_Engine_ вне форума Ответить с цитированием
Старый 12.06.2011, 22:11   #3
Marryy
Пользователь
 
Регистрация: 11.06.2011
Сообщений: 14
По умолчанию

Спасибо.
Кажется поняла в чем затруднение.
В Аccess чило отделяется запятой (56,3456)
а в Delphi число отделяется точкой (56.3456).
Пока не придумала как обойти этот конфликт.
Может есть у кого идеи?
Marryy вне форума Ответить с цитированием
Старый 12.06.2011, 22:23   #4
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

С чего вы взяли, что в Delphi дробная часть отделяется точкой? Это зависит от настроек ОС.
Чтобы обойти этот конфликт лучше всего использовать параметрические запросы, либо извращаться с DecimalSeparator.
_Engine_ вне форума Ответить с цитированием
Старый 12.06.2011, 22:41   #5
Marryy
Пользователь
 
Регистрация: 11.06.2011
Сообщений: 14
По умолчанию

Блондинка я.
Как провернуть подобный параметрический запрос?
Например в поле N таблицы FF поместить число 67.543?
Извращения с DecimalSeparator пока к успеху не привели.
Marryy вне форума Ответить с цитированием
Старый 12.06.2011, 22:53   #6
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Например, как-то так:
Код:
MyQwery.SQL.Text :=  'insert into Temperature (p2) values (:MyParam)';
MyQwery.ParamByName('MyParam').Value := N;
MyQwery.ExecSQL;
_Engine_ вне форума Ответить с цитированием
Старый 12.06.2011, 22:58   #7
Marryy
Пользователь
 
Регистрация: 11.06.2011
Сообщений: 14
По умолчанию

Спасибо.
Сейчас попробую.
Marryy вне форума Ответить с цитированием
Старый 12.06.2011, 23:23   #8
Marryy
Пользователь
 
Регистрация: 11.06.2011
Сообщений: 14
По умолчанию

Не получается.Похоже я что-то не так делаю.
Был следующ. код программы:
Код:
StrQuery:='insert into Temperature (p2) values (' +FloatToStr(N)+ ')';
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(StrQuery)  ;
ADOQuery2.ExecSQL;
StrQuery - string
N - real

Заменила на
Код:
ADOQuery2.SQL.Text:='insert into Temperature (p2) values (   :MyParam  )';
 ADOQuery2.ParamByName('MyParam').Value := N ;
 ADOQuery2.ExecSQL;
ругается на ParamByName
Marryy вне форума Ответить с цитированием
Старый 12.06.2011, 23:30   #9
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Ну, разве сложно разобраться?
Код:
Query.Parameters.ParamByName ...
_Engine_ вне форума Ответить с цитированием
Старый 12.06.2011, 23:39   #10
Marryy
Пользователь
 
Регистрация: 11.06.2011
Сообщений: 14
По умолчанию

Еще раз спасибо.
Marryy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при добавлении данных в бд prizrak1390 PHP 3 29.07.2010 22:47
IE тормозит при добавлении данных на страницу Antonxaaa JavaScript, Ajax 4 27.07.2010 10:40
Ошибка при добавлении данных Ehha1234 БД в Delphi 0 19.06.2010 20:33
Замена кода на текст при добавлении данных L777SU БД в Delphi 1 25.05.2010 16:00
MSSQL Server>Delphi. Ошибка при добавлении данных POPOV БД в Delphi 1 20.04.2010 21:42