Форум: "Базы";
Текущий архив: 2003.05.08;
Скачать: [xml.tar.bz2];
ВнизПараметры, 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 вся ветка
Форум: "Базы";
Текущий архив: 2003.05.08;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c