Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.08;
Скачать: 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 вся ветка

Текущий архив: 2003.05.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
3-22938
Sergant
2003-04-21 08:14
2003.05.08
Упаковка БД Interbase


14-23361
Мазут Береговой Рюрикович
2003-04-19 10:50
2003.05.08
Знакомая купила комп с паролем, а пароля не знает.


3-23015
vil
2003-04-18 10:32
2003.05.08
переименование полей в таблице БД ACCESS


3-22986
sapsi
2003-04-16 14:13
2003.05.08
Обновления в таблицах по АДО


6-23271
pok
2003-03-11 13:28
2003.05.08
Отключить интернет...?