Форум: "Базы";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];
ВнизОшибка преобразования!? Найти похожие ветки
← →
VadimSpb (2006-01-09 11:36) [0]Получаю следующую ошибку преобразования типа данных при запросе.
Вариант №1.
ADOCommand.CommandText := "INSERT INTO Table1 (Pole1) Values (100.45);
ADOCommand.Execute;
Pole1 - типа float.
Все замечательно работает.
Вариант №2.
Edit1.Text := "100.45";
ADOCommand.CommandText := "INSERT INTO Table1 (Pole1) Values (" + Edit1.Text + ")";
ADOCommand.Execute;
Не работает!!!
Ошибка: "100.45" is not a valid floating point value.
Может проблема в длительных Новогодних праздниках?
← →
dioman © (2006-01-09 11:53) [1]
> Может проблема в длительных Новогодних праздниках?
видимо да
← →
Fay © (2006-01-09 12:05) [2]2 VadimSpb (09.01.06 11:36)
не верю
← →
VadimSpb (2006-01-09 12:11) [3]Я очень хочу этому не верить!!!
Но, бытие определяет сознание.
← →
Fay © (2006-01-09 12:27) [4]2 VadimSpb (09.01.06 12:11) [3]
Это космические лучи. Сто пудов 8)
← →
Anatoly Podgoretsky © (2006-01-09 12:33) [5]VadimSpb (09.01.06 11:36)
Ты где то нас обманываешь
← →
tech © (2006-01-09 14:37) [6]Попробуйте
ADOCommand.CommandText := "INSERT INTO Table1 (Pole1) Values (" + Trim(Edit1.Text) + ")";
← →
Fay © (2006-01-09 14:52) [7]2 tech © (09.01.06 14:37) [6]
Попробуйте
ADOCommand.CommandText := "INSERT INTO Table1 (Pole1) Values ( 100.45 )";
← →
Desdechado © (2006-01-09 14:56) [8]используй параметры и все будет ок
проблема в непонимании разделителя целой и дробной части
на клиенте и сервере они могут быть разные, причем как понастройкам ОС, так и сервера БД
← →
Fay © (2006-01-09 15:00) [9]2 Desdechado © (09.01.06 14:56) [8]
На сервере всегда точка. В "100.45" тоже точка. Видимо, не очень разные.
← →
Anatoly Podgoretsky © (2006-01-09 15:51) [10]Desdechado © (09.01.06 14:56) [8]
Ну он вроде как пишет, что точка, но думаю обманывает.
← →
Dioman © (2006-01-09 15:52) [11]
> Desdechado © (09.01.06 14:56) [8]
в обоих примерах на сервер идут одинаковые строки....
← →
sniknik © (2006-01-09 16:00) [12]> в обоих примерах на сервер идут одинаковые строки....
если выполняется тот код, что показан нам. (!!!)
но думаю он опустил разные "несущественные" (с его точки зрения) детали, и мы здесь видим совершенно не то, что у него выполняется (и дает ошибку), т.е. он нас попросту обманывает. или "разводит" (что тоже возможно).
← →
VadimSpb (2006-01-09 16:23) [13]Да-а, уж и не думал, что в обмане обвинят ... :-((
Мне совсем не до смеха, дурка полная. В отладчике вижу две одинаковые стринги. Пример простой, поробуйте сами.
А запятую там в принципе нельзя ставить - это и ежу ясно.
← →
dioman © (2006-01-09 16:25) [14]
> VadimSpb (09.01.06 16:23) [13]
переустанови виндоуз.
← →
VadimSpb (2006-01-09 16:27) [15]Очень полезный совет. Часто помогает?
← →
Fay © (2006-01-09 16:40) [16]2 VadimSpb (09.01.06 16:23) [13]
> Пример простой, поробуйте сами
Всё ОК
← →
parovoZZ © (2006-01-09 16:41) [17]Я тут мимо пробегал...
Может ОН думает, что это не текст, а цифры. Или наоборот. Гы. А может ему фиолетово?
← →
Dioman © (2006-01-09 16:46) [18]
> VadimSpb (09.01.06 16:27) [15]
>
> Очень полезный совет. Часто помогает?
>
не часто, но может помочь ;)
← →
VadimSpb (2006-01-09 16:53) [19]
> Я тут мимо пробегал...
> Может ОН думает, что это не текст, а цифры. Или наоборот.
> Гы. А может ему фиолетово?
Будете проходить мимо - проходите мимо.
← →
VadimSpb (2006-01-09 19:49) [20]Однако, сделал. Всем спасибо.
"Забытых" процессов не было, проверил сразу.
Все проще и одновременно грустнее.
Просто заменил Edit на новый - и все!
Похоже, что это результат перехода с D7 на D2005. Уже не в первый раз сталкиваюсь с тупыми проблемами (напр. поведение MessageBox, пришлось переписать на API и пр., а оказалось лечится SP1,2,3).
В Accesse как-то проходило, а сейчас правлю под SQL SERVER вот и полезло.
← →
Desdechado © (2006-01-09 20:03) [21]повторю для тех, кто в танке
используй параметры, не будет надуманных и не очень проблем
← →
VadimSpb (2006-01-09 20:14) [22]Забавно было видеть именно ошибку преобразования типа данных.
Это откуда? Формируется и передается именно стринга.
← →
sniknik © (2006-01-09 20:18) [23]> В Accesse как-то проходило, а сейчас правлю под SQL SERVER вот и полезло.
ни Access ни MSSQL здесь ни причем,
ошибка:
> "xxxxxx" is not a valid floating point value.
дельфевая, это ошибка преобразования строки к флоату (EConvertError). преобразований в коде ([0]) нет. делаем вывод - эта часть "опущена как несущственная"
в MSSQL было бы (на преобразование)
Error converting data type xxxxxx to float
а в Access типа
Несоответствие типов данных в выражении условия отбора
делаем следующий вывод - ты до сих пор пытаешся "пудрить нам мозги" списывая собственные промахи на "неведомый подземный стук".
← →
sniknik © (2006-01-09 20:22) [24]советую всеже приводить код as is, и с запасом +- несколько строк, а не только то что сами считаете важным "избранное так сказать", очищая с вашей точки зрения "шелуху" убираете и то что пытаетесь донесть (если бы знали, что именно нужно, то сами бы легко разпознали ошибку, а раз не распознали...).
← →
VadimSpb (2006-01-09 20:24) [25]
> делаем следующий вывод - ты до сих пор пытаешся "пудрить
> нам мозги" списывая собственные промахи на "неведомый подземный
> стук".
Жаль что встретил определенное непонимание.
Каждый может делать свои выводы.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.011 c