Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Вниз

Ошибка при исполнении процедуры. 


Yakudza   (2002-02-28 11:54) [0]

Есть форма добавления новой компании в базу, но несколько полей часто бывают пустыми, типа, emailа нет и т.д.. И когда исполняеться процедура, и есть такие пустые значения то она естественно ругаеться -

"Project acc.exe raised exception class EDBEngineError with message "General SQL error".
[INTERSOLV][ODBC Server driver] Character, decimal, and binary parameters cannot have a precision of zero."

подскажите как лучше решить эту проблему, пока что я проверяю - если TEdit.Text пусто то параметру процедуры присваиваю пробел.

Спасибо за любую информацию.



bas   (2002-02-28 12:15) [1]

Какая база-то?
Поля в БД notNULL?



Yakudza   (2002-02-28 12:29) [2]

База Sybase поля не not null.



Yakudza   (2002-02-28 12:58) [3]

Прошу прощения,опечатка:))
поля в базе null :))



roottim   (2002-02-28 13:15) [4]

раз ты используеш не дб компоненты скорее всего в самой процедуре баг
выложи ее



Yakudza   (2002-02-28 13:35) [5]

>roottim
Врядли это процедура, ругаеться еще до того как пытаеться исполнить процедуру на серваке.

но на всякий случай вот она -

CREATE PROCEDURE add (@name varchar(200),@address varchar (100),@phone varchar(20),@fax varchar(20),@a_first_name varchar (70),@a_last_name varchar (100),@website varchar (100), @email varchar (100),@notes varchar (250))

AS
DECLARE

@date datetime
BEGIN
SELECT @date = getdate()
INSERT INTO embassy name,address,phone,fax,a_first_name,a_last_name,website,email,add_date,notes) VALUES (@name,@address,@phone,@fax,@a_first_name,@a_last_name,@website,@email,@date,@notes)

END



roottim   (2002-02-28 13:54) [6]

ясен пень!...
он непонимает что за значение ему присваивают...
в оракловой бы проседуре я бы попробовал так

create procedure add ( name varchar(200) default null....
и у тебя скобочка опущена в инсерт, но это скорее очепятка :)



roottim   (2002-02-28 14:04) [7]

и второе!!.... ошибка при присвоении параметров могет быть



Yakudza   (2002-02-28 14:42) [8]

>roottim
default null.... - счас попробую !



Yakudza   (2002-02-28 15:28) [9]

c null все равно ругаеться.:(
Я ж говорю это StoredProc ругаеться перед тем как запустить параметры на сервак.



roottim   (2002-02-28 15:35) [10]

выложи код где инициализируеш SP



Yakudza   (2002-02-28 16:30) [11]

Вот :

DM.spAdd_Embassy.Prepare;
DM.spAdd_Embassy.ParamByName("@name").AsString := Trim(edEmbName.Text);
DM.spAdd_Embassy.ParamByName("@address").AsString := Trim(mAddress.Text);
DM.spAdd_Embassy.ParamByName("@phone").AsString := phone;
DM.spAdd_Embassy.ParamByName("@fax").AsString := fax;
DM.spAdd_Embassy.ParamByName("@a_first_name").AsString := a_first_name;
DM.spAdd_Embassy.ParamByName("@a_last_name").AsString := a_last_name;
DM.spAdd_Embassy.ParamByName("@website").AsString := website;
DM.spAdd_Embassy.ParamByName("@email").AsString := email;
DM.spAdd_Embassy.ParamByName("@notes").AsString := notes;
DM.spAdd_Embassy.ExecProc;



roottim   (2002-02-28 16:45) [12]

DM.spAdd_Embassy.Prepare вот эту перед exec ставь и назабудь UnPrepare после него
попробуй ка заменить так!..

if phone<>"" then
DM.spAdd_Embassy.ParamByName("@phone").AsString := phone;
else
DM.spAdd_Embassy.ParamByName("@phone").Value:=NULL;

а так в пр все по уму!!! может гвоздик и в этом...




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.024 c
3-90754           Beka                  2002-03-01 13:51  2002.03.28  
TDBGrid


4-91114           Delphi 5.01           2002-01-27 07:38  2002.03.28  
Как вывести сообшения выбора папки только в котором видны и рабочий стол и все остальное в пиктогарамах ну такое сообшение кода драивер меняеш и предлагается выбрать папкуб ну вот точно такое окно нужно!


14-91052          DeZ                   2002-02-14 09:26  2002.03.28  
Help me!!!


3-90766           Malder                2002-02-27 16:58  2002.03.28  
Создание обзоров


4-91110           Zeke                  2002-01-28 18:15  2002.03.28  
Ловушка Wh_shell