Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.09.2010, 22:16   #1
postaveche
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 77
По умолчанию Процедура выдает ошибку arithmetic exception numeric overflow or string truncation

создал процедуру такого типа

Код:
create or alter procedure LISTA_PROBE (
    COD_PR integer not null)
returns (
    COD_SPECII integer,
    DENUMIREA varchar(30),
    MASA double precision,
    DENSITATEA double precision)
as
declare variable COD_SECTOR varchar(3);
declare variable COD_PROBA integer;
begin
  /* Procedure Text */
  for select cod_s, cod_p, cod_specii, densitate from "ALG_PROBE_I"
  where cod_p = :cod_pr
  INTO :cod_sector, :cod_proba, :cod_specii, :densitatea
  do
  begin
  select cod, denumirea, masa from "ALG_SPECII" where cod = :cod_proba
  INTO :cod_specii, :denumirea, :masa;
  cod_specii = :cod_specii;
  denumirea = :denumirea;
  masa = :masa;
  densitatea = :densitatea;
  cod_sector = :cod_sector;
  suspend;
  end
end^
и вызываю ее с програмы

Код:
DataModule2.IBStoredProc2.StoredProcName:='LISTA_PROBE';
DataModule2.IBStoredProc2.ParamByName('cod_pr').AsInteger := DBLookupComboboxEh3.KeyValue;
DataModule2.IBStoredProc2.ExecProc;
DataModule2.IBQuery7.SQL.Clear;
DataModule2.IBQuery7.SQL.Add('select * from LISTA_PROBE');
DataModule2.IBQuery7.Open;
что я не правельно делаю... в чем может быть ошибка ... все поля вроде совпадают
postaveche вне форума Ответить с цитированием
Старый 08.09.2010, 22:40   #2
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Объясни, что у тебя делает данный кусок кода?
Цитата:
Сообщение от postaveche Посмотреть сообщение
Код:
DataModule2.IBStoredProc2.StoredProcName:='LISTA_PROBE';
DataModule2.IBStoredProc2.ParamByName('cod_pr').AsInteger := DBLookupComboboxEh3.KeyValue;
DataModule2.IBStoredProc2.ExecProc;
Оставь только это:

Код:
DataModule2.IBQuery7.SQL.Clear;
DataModule2.IBQuery7.SQL.Add('select * from LISTA_PROBE(:MyCod)');
DataModule2.IBQuery7.ParamByName('MyCod').Value := Что там тебе надо
DataModule2.IBQuery7.Open;
_Engine_ вне форума Ответить с цитированием
Старый 08.09.2010, 23:58   #3
postaveche
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 77
По умолчанию

ну я не понял как отправлять данные в процедуру ну и пришлось придумывать

спасибо за совет ... завтра утром уже попробую
postaveche вне форума Ответить с цитированием
Старый 09.09.2010, 11:16   #4
postaveche
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 77
По умолчанию

Цитата:
Сообщение от _Engine_ Посмотреть сообщение
Объясни, что у тебя делает данный кусок кода?


Оставь только это:

Код:
DataModule2.IBQuery7.SQL.Clear;
DataModule2.IBQuery7.SQL.Add('select * from LISTA_PROBE(:MyCod)');
DataModule2.IBQuery7.ParamByName('MyCod').Value := Что там тебе надо
DataModule2.IBQuery7.Open;
Поставил этот код но то же самая ошибка в чем может быть дело
postaveche вне форума Ответить с цитированием
Старый 09.09.2010, 11:29   #5
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Это читали: это ?
©Учиться, учиться и еще раз учиться!
quit вне форума Ответить с цитированием
Старый 09.09.2010, 11:48   #6
postaveche
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 77
По умолчанию

Цитата:
Сообщение от quit Посмотреть сообщение
Это читали: это ?
да читал но все поля совпадают
postaveche вне форума Ответить с цитированием
Старый 09.09.2010, 12:22   #7
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Цитата:
Сообщение от postaveche Посмотреть сообщение
да читал но все поля совпадают
Что значит совпадают? Кодировка везде верная? Данные в параметр процедуры верные передаются? Пробовал отдельно в анализаторе выполнить запрос?
©Учиться, учиться и еще раз учиться!
quit вне форума Ответить с цитированием
Старый 09.09.2010, 12:40   #8
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

postaveche, а приведи ка ты структуру таблицы ALG_PROBE_I
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 09.09.2010, 13:20   #9
postaveche
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 77
По умолчанию

всё разобрался ... проблема была в несовпадение входящего запроса тоесь он не передавал нормально значение с прошлого запроса
postaveche вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выдает ошибку( И.А.А. Общие вопросы C/C++ 1 21.05.2010 19:10
выдает ошибку! maksim_serg Microsoft Office Word 3 20.04.2010 04:19
Линкер выдает ошибку Error: Fixup overflow Terasbetoni Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 27.04.2009 13:03
При переключении между чекбоксами - ошибка Stack overflow. Как исправить эту ошибку? SkAndrew Общие вопросы Delphi 5 26.08.2008 21:32
Windows2003 ошибку выдает Cantana Windows 11 07.12.2007 06:04