![]() |
|
|
![]()
|
|
| TheCetus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 9.3.2006 Репутация: нет Всего: 2 |
Возникла следующая проблема:
на сервере имеется процедура Object_Add которая возвращает один параметр Result (тип Numeric(15,0)) в делфе использую компоненты prcADd : TIBStoredProc. при вызове процедуры prcAdd в моем приложении выскакивает ошибка Invalid Data Convercion. указывал тип параметра ftInteger, ftLargeInt - не помогает. удалось вылечить, если изменить на сервере тип возвращаемого параметра на Result Integer. Вопрос, как обойтись без смены на сервере возвращаемого типа? т.е. чтобы сервер возвращал не Integer а Numeric(15,0) ? Добавлено @ 19:06 в своем приложении использую компоненты с закладки InterBase |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
Поставить тип параметра ftFloat
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| TheCetus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 9.3.2006 Репутация: нет Всего: 2 |
не помогло, ошибка осталась
помогает только если установить тип возвращаемого результата numeric(15,x), где x <> 0 база работает на Dialect 3. как думает народ для первичного ключа достаточно будет типа integer? Это сообщение отредактировал(а) TheCetus - 22.3.2006, 11:53 |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
А вы думаете для первичного ключа привысить придел integer в 2 147 483 647 если очень боитесь, то поставьте bigint 9 223 372 036 854 775 807 (как говорит один мой знакомый "столько звезд на небе нет, что бы привысить bigint")
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| TheCetus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 9.3.2006 Репутация: нет Всего: 2 |
т.е. другого решения кроме как выставить ftFloat нет?
|
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
Честно, не проверял, я уже давно не работаю с IB (перешел на FIB+), но если уж так прям ребром вопрос, сейчас посмотрю, что там и почему он float не принимает.
А в обще я бы советовал первичные ключи делать bigint -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Alex |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
Может я конечно, что-то не так вас понял, но:
Создал процедуру:
кинул на форму IBDatabase1, IBStoredProc1, IBTransaction1 и указал БД и имя процедуры. Создал обработчик
Запустил и у меня все нормально запустилось -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |