ADOQuery.post与触发器问题!急 找药品进销存管理软件
我的New2 有一触发器
例如
CREATE TRIGGER AAQ ON New2 FOR INSERT AS
update new2 set Fa= 123 把new2的FA都更新为123
在SQL下运行正常,可以更新。
就是使用ADOquery的POST方法提交时:
如果只更新一条数据就没问题,但如果NEW1有多条数据就出现:
‘键列信息不足或不正确,更新影响到多行’
其实数据已经正常更新,NEW2也已经插入了新记录,但就是有上面所说的错误
救命啊~!
2楼: update new2
set
fa=123
from inserted,
写表格名称啊。
试试,要不就估计完蛋 如药品进销存管理软件
3楼: 我的触发器:
CREATE TRIGGER TIG1 ON New2 FOR INSERT,update,delete AS
if (select NumberEdit1 from inserted ) >=1-- and (select * from deleted ) <1
begin
update New1 set NumberEdit1 = New1.NumberEdit1- inserted.NumberEdit1
from inserted inner join New1 on inserted.Edit0 = New1.Edit0
end
if (select NumberEdit1 from deleted ) >=1-- and (select * from inserted ) <1
begin
update New1 set NumberEdit1 = New1.NumberEdit1- deleted.NumberEdit1
from deleted inner join New1 on deleted.Edit0 = New1.Edit0
end
4楼: 個這融發器就可以直接使用了。
CREATE TRIGGER AAQ ON New2
FOR INSERT AS
UPDATE new2 SET Fa= 123 WHERE ID = (SELECT ID FROM INSERTED) -- 這個ID是你的數據表的主鍵字段名
5楼: to bbscom:
我的触发器是可以用的,在SQL查询分析器里完全正常,
但我用adoquery.post来提交新增就会出错,表面出错但其实后台数据已经更新了,
6楼: 你的情况我以前遇到过,是由Delphi ADO的一个小小的bug引起的, 解决办法:
CREATE TRIGGER ..... AS
BEGIN
SET NOCOUNT ON
..................
...................
SET NOCOUNT OFF
END
记账软件版7楼: 非常感谢yyh5x,问题解决,请问有详细资料吗?这个问题烦了我3天,我想彻底了解它
我QQ495963512
8楼: 谢谢yyh5x