主页
Top.Mail.Ru Yandeks.Metrika
论坛:“基地”;
当前存档:2003.05.01;
下载:[xml.tar.bz2];

向下

IBDataSet错误 找到类似的分支


Jaxtor   (2003-04-14 15:59) [0]

Помогите, мастера, пожалуйста!!!!
Из-за чего возникает ошибка - Invalid token "returning_values"?
Как ее обойти?

with qrPrihNaklInsert do begin

if Active then Close;

with SelectSQL do begin
Clear;
Add("execute procedure saveprod_proc :ProdId returning_values :SaveProdId");
Add("insert into SAVEPR_ATR(SAVEPRODID, COUNTRYID) values (:SaveProdID,1)");
Add("insert into serialno(saveprod_atrid,SerialNo) values (GEN_ID(GEN_SAVEPR_ATR,0),NULL)");
Add("insert into stockitem(stockid,saveprod_atrid,Quantity) values (:stockid,GEN_ID(GEN_SAVEPR_ATR,0),0)");
Add("insert into stockitemsn(serialnoid,stockitemid) values (gen_id(gen_serialno,0),gen_id(gen_stockitem,0))");
Add("insert into naklitem(naklid,saveprod_atrid,warantyid) values (:NaklID,GEN_ID(GEN_SAVEPR_ATR,0),2)");
Add("insert into naklsn(serialnoid,naklitemid) values (gen_id(gen_serialno,0),gen_id(gen_naklitem,0))");
end;//with SelectSQL
ParamByName("ProdId").AsInteger:=102877;
ParamByName("StockID").AsInteger:=3;
ParamByName("NaklID").AsInteger:=806;

ExecSQL;
end;//with qrPrihNaklInsert



Соловьев   (2003-04-14 16:03) [1]

что-то ты насовал всего в одну бедную компоненту....



Жук   (2003-04-14 16:04) [2]

Ой ! Мама...



Соловьев   (2003-04-14 16:08) [3]

зачем для процедуры IBDataset?
Обычный квери подойдет:
Select * from Procedure (:p1, :p2)



Jaxtor   (2003-04-14 16:15) [4]

Да была у меня хранимая процедура под это дело... Начала ругаться из-за ограничений ссылочной целостности.
У меня гл. таблица - Nakl, подчиненная - NaklItem. Соответственно
если в Nakl нет соответствующей записи, то в NaklItem ничего вставить нельзя. Хотел это обойти, используя вышеприведенный код.



Соловьев   (2003-04-14 16:17) [5]


> если в Nakl нет соответствующей записи, то в NaklItem ничего
> вставить нельзя

так вставь сначала в подченненную. Смысл вставлять то чего нет в главной? Фантомы будут...



Соловьев   (2003-04-14 16:17) [6]


> если в Nakl нет соответствующей записи, то в NaklItem ничего
> вставить нельзя

так вставь сначала в главную. Смысл вставлять то чего нет в главной? Фантомы будут...
对不起......



Jaxtor   (2003-04-14 16:22) [7]

А у меня алгоритм такой:
вставить запись сначала в подчиненную таблицу, потом в главную, а
затем сделать CommitRetaining для главной, а потом для подчиненной.



Соловьев   (2003-04-14 16:27) [8]

А что тебе мешает сделать наоборот?



Jaxtor   (2003-04-14 16:33) [9]

Задача такая стоит у меня.
Сначала нужно мне добавить позиции по накладной (таблица NaklItem), а затем
другие параметры таблица(Nakl). Собственно ссылочную целостность
устанавливал не я, а другой программер.



samalex   (2003-04-14 16:34) [10]

; не пробовал в конце каждого запроса ставить? Как IB будет отличать команды? И вообще, напиши ХП с параметрами, у IB такие большие возможности...



Jaxtor   (2003-04-14 17:04) [11]

; не помогает!!!!



Zacho   (2003-04-15 09:06) [12]

Ну что я могу сказать... Значит, алгоритм у тебя не правильный, если он не соответствует бизнес-правилам, определенным для твоей БД. Подумай, например, а если между Commit"ом для главной таблицы и Commit"ом для подчиненной произойдет какой-либо сбой ?
И получиться накладная с заголовком, но без позиций. В твоей системе такое допустимо ? Вообще, подобные операции надо делать в транзакции. А если тебе очень уж необходимо сначало создавать записи для подчиненной таблицы, а только потом - для главной, то имхо единственный правильный способ - делать это на клиенте (например, с помощью CachedUpdates) а потом уже вставлять в базу в одной транзакции и в нормальном порядке, т.е. сначало - в главную, потом - в подчиненную



Alexandr   (2003-04-15 09:12) [13]

это все бред какой-то....
И где вы такую траву берете?



Страницы: 1 整个分支

论坛:“基地”;
当前存档:2003.05.01;
下载:[xml.tar.bz2];

楼上









内存:0.59 MB
时间:0.025 c
1-634
Giemgo
2003-04-13 00:26
2003.05.01
如何中断构造函数?


1-499

2003-04-20 03:10
2003.05.01
如何在知道其名称的exe或dll文件中找出函数的地址?


3-428
Z_man7777
2003-04-12 07:23
2003.05.01
关于InterBase中存储过程的问题!


4-838
hedgehoge
2003-03-04 02:10
2003.05.01
发送到控制台


14-687
malkolinge
2003-04-15 16:18
2003.05.01
谁用软包处理书籍?





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法文
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本性玩偶 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 泰米尔人 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский