Вниз
Скачать: CL | DM;

Параметры, InsertSQL в IBDataSet   Найти похожие ветки 

 
Jaxtor ©   (2003-04-17 11:22) [0]

Мастаки, скажите, пожалуйста, а есть ли какие-то особенности работы с параметрами в запросе на вставку в IBDataSet?
У меня, вот, ошибка появляется:
Field SaveProdID not found


with qrPrihNaklInsert do begin

with InsertSQL do
Add("insert into SAVEPR_ATR(SAVEPRODID, COUNTRYID) values (:SaveProdID,1)");

ParamByName("SaveProdID").AsVariant:=45;
end;//with qrPrihNaklInsert


 
Соловьев ©   (2003-04-17 11:27) [1]


> ParamByName("SaveProdID").AsVariant:=45;

привяжы к компонетам для редактирования БД и этот параметр будет автоматически заполнятся. С параметрами в IBDayaSet можно работать в Select.


 
Johnmen ©   (2003-04-17 11:28) [2]

А какой SelectSQL ?


 
Jaxtor ©   (2003-04-17 11:34) [3]

А из-за чего ошибка возникает?


 
Jaxtor ©   (2003-04-17 11:43) [4]

Да, да SelectSQL тоже здесь влияет.
Вот он:

with SelectSQL do begin
Clear;
Add("select SaveProdID from SaveProd where ProdId=:ProdId");
end;//with SelectSQL
ParamByName("ProdID").AsInteger:=102877;
Open;

Если я делаю SelectSQL.Clear, то возникает другая ошибка.
Итак, параметр ProdID не равен SaveProdID >>ошибка.


 
Johnmen ©   (2003-04-17 11:43) [5]

>А из-за чего ошибка возникает?

Field SaveProdID not found

А какой SelectSQL ?


 
Johnmen ©   (2003-04-17 11:49) [6]

И для полноты картины, структура табл. SaveProd ?


 
Соловьев ©   (2003-04-17 11:49) [7]

наверное диалект 3...


 
Jaxtor ©   (2003-04-17 12:02) [8]


/* Table: SAVEPROD */

CREATE TABLE SAVEPROD (
SAVEPRODID ID NOT NULL,
PRODID ID NOT NULL,
PN STR,
PRODUCT LONG_STR,
WARANTYID ID NOT NULL,
UNITID ID NOT NULL,
NDS COEF);

/* Primary keys definition */

ALTER TABLE SAVEPROD ADD CONSTRAINT PK_SAVEPROD PRIMARY KEY (SAVEPRODID);

/* Foreign keys definition */

ALTER TABLE SAVEPROD ADD CONSTRAINT FK_SAVEPROD_PRODUCTS FOREIGN KEY (PRODID) REFERENCES PRODUCTS (PRODID) ON UPDATE CASCADE;
ALTER TABLE SAVEPROD ADD CONSTRAINT FK_SAVEPROD_UNITS FOREIGN KEY (UNITID) REFERENCES UNITS (UNITID) ON UPDATE CASCADE;
ALTER TABLE SAVEPROD ADD CONSTRAINT FK_SAVEPROD_WARANTY FOREIGN KEY (WARANTYID) REFERENCES WARANTY (WARANTYID) ON UPDATE CASCADE;

SET TERM ^ ;

/* Triggers definition */

/* Trigger: SAVEPROD_BI */
CREATE TRIGGER SAVEPROD_BI FOR SAVEPROD
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.SAVEPRODID IS NULL) THEN
NEW.SAVEPRODID = GEN_ID(NEWSAVEPRODID,1);
END
^
SET TERM ; ^


 
Johnmen ©   (2003-04-17 12:14) [9]

1. Почему инсерт делается в SAVEPR_ATR ???
2. Что есть ID ? Если домен, то почему NOT NULL не внесен в него ?


 
Jaxtor ©   (2003-04-17 12:20) [10]

Да все уже, вопрос исчерпан:)
У меня все работает пока.
Я просто привел пример другого куска программы.


 
Соловьев ©   (2003-04-17 12:22) [11]


> Я просто привел пример другого куска программы

прыкалывается парень.... :)))))))


 
Johnmen ©   (2003-04-17 12:25) [12]

...и, видимо, на этом не остановится...:)


 
Jaxtor ©   (2003-04-17 12:43) [13]

А какая разница вообще?
Ошибка-то одна!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.012 c
14-23374
Alex087
2003-04-21 15:37
2003.05.08
Как реализовать гипертекстовый документ? (-)


14-23370
Andrey
2003-04-21 14:03
2003.05.08
Программирование и остеохандропатический кифоз


14-23359
Esu
2003-04-20 21:05
2003.05.08
Теория и практика...


1-23150
ЮРИЙ_К
2003-04-24 12:33
2003.05.08
Как продублировать Text-ы дерева в Label ???


14-23327
Sergey Masloff
2003-04-18 22:18
2003.05.08
Именинники на разные даты




   Наверх