Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.05;
Скачать: CL | DM;

Вниз

Ошибка преобразования!?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.04 c
15-1139404556
Evgenxxxx
2006-02-08 16:15
2006.03.05
Работа с внешним оборудованием


1-1138713607
AMPR
2006-01-31 16:20
2006.03.05
DLL, динамический выхов процедур с переменных числом параметров.


5-1126124877
TStas
2005-09-08 00:27
2006.03.05
Как заставить компонент выглядеть, как невизуальный?


1-1138890546
kblc
2006-02-02 17:29
2006.03.05
Если не помогает WaitForSingleObject ...


3-1136738288
аматор
2006-01-08 19:38
2006.03.05
может кто поможет (только если ругать то не сильно)