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

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

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2009, 14:57   #1
xxxsas
Пользователь
 
Регистрация: 16.11.2008
Сообщений: 79
Вопрос как сложить данные полученные из запроса к MS SQL SERVER ?

столкнулся с проблемой: нужно сложить/вычесть данные полученные из запроса SQL.
код:

int matz = QueryDTP->FieldByName("summ_mater_exp")->AsFloat;
int zopt = QueryDTP->FieldByName("summ_exp_pay_trud")->AsFloat;

int tik = matz + zopt;


1) типы полей в таблице бд MS SQL SERVER 2000 - varchar(25);

Выдает ошибку: "'is not a valid floating point value'



2) типы полей в таблице бд MS SQL SERVER 2000 - float(8);
Выдает ошибку: "cannot convert varchar to float'

В чем ошибка в 1 и во 2 случаях и как ее можно исправить?

P.S.: изменение прототипа int на float выдает туже ошибку.
################################### ############
Если кому придется столкнуться с подобным, то ошибка была в том , что в бд. MS SQL SERVER 2000 сначала был тип полей float и данные были внесены до изменения полей на varchar. Для исправления ошибки нужно сначала удалить все значения полей, затем изменить тип полей на varchar, затем заново внести данные в таблицу.
Также стоит обратить внимание на прототипы int и float(в зависимости от значений)...
################################### ############

Тема закрыта

Последний раз редактировалось xxxsas; 09.01.2009 в 17:31. Причина: Сам разобрался=)
xxxsas вне форума Ответить с цитированием
Старый 09.01.2009, 16:39   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
2) типы полей в таблице бд MS SQL SERVER 2000 - float(25);
Не верю. И сервер не верит, поэтому прямо и говорит:
'is not a valid floating point value'
и
'cannot convert varchar to float'
mihali4 вне форума Ответить с цитированием
Старый 09.01.2009, 17:28   #3
xxxsas
Пользователь
 
Регистрация: 16.11.2008
Сообщений: 79
По умолчанию

2) типы полей в таблице бд MS SQL SERVER 2000 - float(25);
Не верю. И сервер не верит, поэтому прямо и говорит:
'is not a valid floating point value'
и
'cannot convert varchar to float'

----------------------------------

int matz = QueryDTP->FieldByName("summ_mater_exp")->AsFloat;
Я имел ввиду, что если в строке вышене в таблице бд) изменить int на float(что было бы правильнее ввиду того, что значения переводятся на float, а инициализация int-как целое число)...
Но в проблеме уже разобрался(пояснение в 1 сообщении).

P.S.: а насчет float(25) правда Ваша(но я в курсе)....

Последний раз редактировалось xxxsas; 09.01.2009 в 17:30.
xxxsas вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MS SQL Server 2000 как защитить информацию от случайного просмотра xxxsas SQL, базы данных 4 23.12.2008 17:18
Доступ к БД (SQL server) в ОС Windows server 2003 Mann SQL, базы данных 2 07.12.2008 19:15
как сложить данные полученные из запроса? xxxsas SQL, базы данных 0 27.11.2008 01:44
как вытащить значение из sql запроса след.вида Tanuska___:) БД в Delphi 3 29.09.2008 15:54
Как получить текущую дату из SQL запроса? _ozzy_ SQL, базы данных 2 09.09.2008 21:15