Главная страница
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.033 c
2-1139913584
LordOfRock
2006-02-14 13:39
2006.03.05
Указатели и классовые переменные


4-1134564762
MU
2005-12-14 15:52
2006.03.05
Служба


4-1134506723
Сафаров
2005-12-13 23:45
2006.03.05
работа с CheckBox в TreeView


15-1139476530
PVOzerski
2006-02-09 12:15
2006.03.05
Тревожный слух о Delphi - правда ли?


2-1140302139
Volf_555
2006-02-19 01:35
2006.03.05
Как очистить TCanvas TImage?