请高手看看这个问题!(50分)

  • 主题发起人 主题发起人 xcwbl
  • 开始时间 开始时间
X

xcwbl

Unregistered / Unconfirmed
GUEST, unregistred user!
有一张表a1,我用ADOQuery查询到一些记录,并用DBGrid显示,之后在a1中追加记录
并在dbgrid中录入数据,另我为a1写了个insert触发器,即a1增加记录时,同时往
另一张表a2增加数据。可是当我打开a2,却什么也没增加。
我的触发器是这样写的:
CREATE TRIGGER a2_triger ON dbo.a1
FOR INSERT
AS
INSERT INTO a2(id,hp_name,hp_bh,hp_guige,hp_dw,jh_price,preid,hp_lian,jine)
SELECT i.id,i.name,i.bh,i.guige,i.dw,i.jf_price,i.preid,0,0
FROM inserted i
请高手帮忙解决!
 
这个语句好象有问题,先执行一下看有没有错。
INSERT INTO a2(id,hp_name,hp_bh,hp_guige,hp_dw,jh_price,preid,hp_lian,jine)
SELECT i.id,i.name,i.bh,i.guige,i.dw,i.jf_price,i.preid,0,0
FROM inserted i
 
请问i是怎么定义的?
 
是不是inserted表没有刷新呀?
 
后面我发现如果是直接在dbgrid上录入的数据a2表没有,
而通过为ADOQuery赋值如:
AdoQuery.fieldbyname('hp_name').asstring:='123';
AdoQuery.post;
则a2表有数据。不知何故?
to structer:
inserted 如何刷新?
 
后退
顶部