Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
jenokizm
21 / 37 / 14
Регистрация: 27.03.2014
Сообщений: 754
#1

Ошибка при добавлении float записи в Azure SQL - SQL Server

02.08.2014, 20:01. Просмотров 306. Ответов 3
Метки нет (Все метки)

Есть таблица в бд с полем типа float, есть переменная тоже float которая образуется из строки так:
C#
1
2
string flVar2Str = "0,5";
            float flVar2 = float.Parse(flVar2Str);
но при добавлении записи в таблицу происходит ошибка и остановка на cmd.ExecuteNonQuery(); с текстом
Необработанное исключение типа "System.Data.SqlClient.SqlException" в System.Data.dll

Дополнительные сведения: Error converting data type varchar to float.
в локальных переменных видна моя, только с точкой flVar2 = 0.5

Я конечно не знаю может ошибка из за путаницы точки и запятой, а может и нет... подскажите пож.
http://www.cyberforum.ru/sql-server/thread1973843.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2014, 20:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ошибка при добавлении float записи в Azure SQL (SQL Server):

Ошибка при добавлении записи в таблицу
Всем доброго времени суток, я ввожу данные в таблицу напрямую и возникает при...

Триггер. Расчет стоимости при добавлении записи
Ребят, выручайте, срочно нужна Ваша помощь. Суть задания: Написать триггер,...

Автоматическое заполнение одной таблицы при добавлении записи в другую
Здравствуйте! Подскажите,возможно ли в mssql 206 реализовать такую штучку,при...

Выбрать последние n записи из Azure DB
Подключаюсь и работаю через php, есть такой запрос: $tsql = "SELECT...

Нужен триггер, который будет обновлять одну таблицу при добавлении записи в другую
Нужен триггер, который срабатывает после того как добавлется запись в таблицу....

3
kodv
1417 / 1091 / 344
Регистрация: 11.04.2011
Сообщений: 2,606
Завершенные тесты: 1
04.08.2014, 05:14 #2
jenokizm, Вы абсолютно правы, исключение возникает из-за того, что СУБД ожидает в строке с числом не тот разделитель, который вы в этой строке передаете в запрос. Передавайте параметр в запрос ни как строку, а как число с точкой. Тогда никакой путаницы не будет.
0
jenokizm
21 / 37 / 14
Регистрация: 27.03.2014
Сообщений: 754
04.08.2014, 08:09  [ТС] #3
kodv, спасибо, действительно забыл о том что float передается потом как строка, т.к. у меня множество параметров. Как отдельно передать его без строки не знаю, но сделал так:
C#
1
string flVarStr = flVar2.ToString().Replace(",", ".");
и передал ее вместо флоат, и прикинь приняло! все норм!
0
kodv
1417 / 1091 / 344
Регистрация: 11.04.2011
Сообщений: 2,606
Завершенные тесты: 1
04.08.2014, 09:06 #4
jenokizm, а если ваша программа будет целпяться к MS SQL Server'у, в котором будут использоваться Российские региональные стандарты с запятой в качестве десятичного разделителя? Если вы будет передавать дробное число как дробное число, а не как строку, то можете не думать о региональных стандартах сервера.
Цитата Сообщение от jenokizm Посмотреть сообщение
Как отдельно передать его без строки не знаю
Мои телепатические возможности не позволяют увидеть, как вы передаете параметры в свою SqlCommand, но если вы вобьете в Яндекс строку типа "sqlcommand параметризованный запрос", то обязательно найдет примеры использования параметров в SqlCommand.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2014, 09:06
Привет! Вот еще темы с решениями:

Как создать триггер который обновляет запись в таблицы при добавлении записи в другую таблицу
Всем привет, нужна помощь с триггером, столкнулся с ним в первые до этого...

Ошибка при добавлении данных в таблицу
Подскажите с чем связана данная ошибка?

SQL Server 2005 ошибка при Sql авторизации
Добрый день! Ошибка при попытке sql авторизаци: Login failed for user...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru