Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Преобразование типов / 11 сообщений из 11, страница 1 из 1
31.03.2003, 15:18
    #32130241
Andrei_A
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование типов
Подскажите плиз. В ХП параметр типа DECIMAL(5,4) - при запуске ХП ругается, что не может преобразовать тип в этот(пробовал разные типы параметров - не нашел, float Не прокатил). Подскажите какой поставить или как обойти.
...
Рейтинг: 0 / 0
31.03.2003, 15:36
    #32130260
alexia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование типов
А как вызываешь XP? Вернее как значение передаешь?
...
Рейтинг: 0 / 0
31.03.2003, 15:39
    #32130267
alexia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование типов
Кстатаи, СУБД какая?
...
Рейтинг: 0 / 0
31.03.2003, 15:40
    #32130270
Andrei_A
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование типов
Ну что-то вроде
StorProc.Parameters.ParamValues['@Kolvo']:= kolvo;

эта строка проходит не смотря на любые типа, стринг в стринг, флоат в флоат и тп.

И пока не использовал в ХП децимал или ньюмерик - все было ок.

А так по вызову метода Exec вылетает ексепшион, что мол не может перевести тип( параметра) - например флоат в тип(переменной) - ньюмерик или децимал
...
Рейтинг: 0 / 0
31.03.2003, 15:41
    #32130271
Andrei_A
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование типов
MSSQL 2k
...
Рейтинг: 0 / 0
31.03.2003, 15:43
    #32130275
Andrei_A
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование типов
Да, забыл, может ключевой момент в том, что я передаю даже сейчас число целое, например 90. Все должно быть просто - наверно вопрос элементарный, но не могу понять
...
Рейтинг: 0 / 0
31.03.2003, 15:50
    #32130287
alexia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование типов
Максимальное число, которое ты можешь передать - 9,9999
...
Рейтинг: 0 / 0
31.03.2003, 15:58
    #32130299
Andrei_A
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование типов
Я конечно первый раз этим занимаюсь, но из описания я понял, что могу передать и 99,99 ???? Или я не дочитал. Ну тогда почему не катит и при варианте децимал(6,4) и 7,4 ???? Ну объясните чайнику в чем прикол
...
Рейтинг: 0 / 0
31.03.2003, 16:02
    #32130306
alexia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование типов
Вот этого не знаю. Проверь в отладчике, какое число на самом деле передается...
...
Рейтинг: 0 / 0
31.03.2003, 16:07
    #32130317
Andrei_A
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование типов
Все, разобрался, спасибо. И ведь действительно при 5,4 нельзя более 9,9999 - хотя я не видел в описании типа что есть условие левая часть не более (5-4)
...
Рейтинг: 0 / 0
31.03.2003, 16:09
    #32130324
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование типов
В ХП параметр типа DECIMAL(5,4)

Первое число в скобках общее число знаков, второе - число знаков после запятой. Так что alexia прав на счет 9,9999. Рекомендую использовать numeric(19, 4) и в свойствах компонента (ADO) поставить EnableBCD. Тогда у тебя будут создаваться поля типа TBCDField.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Преобразование типов / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]