![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Кнопа |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 1.2.2007 Где: Москва Репутация: нет Всего: нет |
Всем привет!
При формировании запроса на вставку записи в базу, столкнулась с проблемой разделителя целой и дробной части числа. В список Values запроса Insert нужно включить два значения, которые хранятся в переменных типа double. Когда я преобразую их (явно или неявно) к типу String, разделителем целой и дробной части стоновится запятая, а не точка. Это приводит к формированию неправильного запроса. например:
При этом, результирующий запрос выглядит так:
Варианты:
дают тоже самое ![]() Как мне преобразовать числа в строку, чтобы разделителем была точка? (крайний вариант найти символ ',' и заменить на '.' не привлекает ![]() Это сообщение отредактировал(а) Кнопа - 6.2.2007, 17:44 |
||||||
|
|||||||
Rodman |
|
||||||||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
конечно смотря какая СУБД, но так попробуй
или
а так?
Это сообщение отредактировал(а) Rodman - 6.2.2007, 17:56 |
||||||||
|
|||||||||
Кнопа |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 1.2.2007 Где: Москва Репутация: нет Всего: нет |
СУБД MS SQL, там вроде в кавычки строчные поля заключаются, а у меня поля числовые.
Но надо попробовать, спасибо. |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
для этого (да и вообще) рекомендуется использовать параметры. поэтому среду разработки указать не помешалобы...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
ну если есть необходимость с парамтрами, то
|
|||
|
||||
Кнопа |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 1.2.2007 Где: Москва Репутация: нет Всего: нет |
Rodman,
Кавычки не проходят, так как поля типа float, а не varchar/char. Сервер отказывается исполнять такой инсерт.
Во-первых, не узнает компилятор такой функции Float(), а во-вторых, даже если явно приводить тип: ... values ('"+(double)a1+... то во время формирования строки, компилятор преобразовывает эти переменные к типу строка (насколько я понимаю), и эффект тот же (разделитель - запятая).
Так-то правильно, но я не знаю изначально значений а1, а2 - они вводятся пользователем. _hunter, Компилятор: BORLAND C++ BUILDER 6.0 Параметры не очень хотелось бы использовать, так как хотела использвать один TADOQuery для всех запросов вставки/удаления... Но если другого варианта нет, то прийдется использовать параметры... |
||||
|
|||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
Кнопа, допустим данные вводятся в эдиты, то
что на такое вариант отвечает??? |
|||
|
||||
Кнопа |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 1.2.2007 Где: Москва Репутация: нет Всего: нет |
Rodman,
Большое спасибо, с параметрами все работает. Просто не хотелось использовать параметры, т.к.
А по-другому никак не выходит. ![]() |
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
попробуй в самом MS SQL ручками написать запрос
если не прокатит - попробуй: - с кавычками поэкспериментируй - с запятыми... - т.д. но найди вариант который пракатит, и выложи... попробуем его привести в нормальный вид из борланда... |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
а чем тут мешают параметры? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Кнопа |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 1.2.2007 Где: Москва Репутация: нет Всего: нет |
Rodman,
Уже пробовала, работает. И в борланде работает с параметрами так, как ты написал. Все ра-бо-та-ет! Нужно было использовать параметры. _hunter, Да вроде ничем, если хорошо подумать. ![]() |
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
я понял что работает... хотелось бы довести до конца задание... т.е. - без параметров... если тебе реально такое необходимо - то попробуй найти результат в моей прошлой инструкции |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
А что мешает в полученных String'ах перед передачей в функцию заменять "," на "."?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |