CREATE TRIGGER cljcupdate ON [dbo].[材料进仓明细表]
AFTER UPDATE
AS
if update(数量) or update(开票数量)
begin
update 材料进仓明细表 set 已开票=1
where 材料进仓明细表.数量=材料进仓明细表. 开票数量
end
如果加了这个触发器,那在delphi编译后的程序中更改数量或开票数量均会出现如上错误,但在sql企业管理器中批量更新'材料进仓明细表'却无此问题.这是什么原因.我的操作环境:
delphi7 update2
ado2.7
sql2000
AFTER UPDATE
AS
if update(数量) or update(开票数量)
begin
update 材料进仓明细表 set 已开票=1
where 材料进仓明细表.数量=材料进仓明细表. 开票数量
end
如果加了这个触发器,那在delphi编译后的程序中更改数量或开票数量均会出现如上错误,但在sql企业管理器中批量更新'材料进仓明细表'却无此问题.这是什么原因.我的操作环境:
delphi7 update2
ado2.7
sql2000
CREATE TABLE [dbo].[材料进仓明细表] (
[进仓明细ID] [int] IDENTITY (1, 1) NOT NULL ,
[进仓单号] [nvarchar] (12) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[材料编码] [nvarchar] (18) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[材料名称] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[规格] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[单位] [nvarchar] (4) COLLATE Chinese_PRC_CI_AS NULL ,
[数量] [float] NOT NULL ,
[单价] [float] NOT NULL ,
[金额] [float] NOT NULL ,
[已开票] [bit] NULL ,
[开票数量] [float] NULL ,
[备注] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
但在BDE中只能显示六个
[进仓明细ID] [int] IDENTITY (1, 1) NOT NULL ,
[数量] [float] NOT NULL ,
[单价] [float] NOT NULL ,
[金额] [float] NOT NULL ,
[已开票] [bit] NULL ,
[开票数量] [float] NULL ,
好像字符型的统统不能显示.ADO的光标属性应该设为什么,有效吗.
select 进仓明细ID,
进仓单号 ,
材料编码 ,
材料名称 ,
规格 ,
单位 ,
数量 ,
单价,金额,
已开票,
开票数量,
备注
from 材料进仓明细表
能显示的只有上面六个.
其它表也一样哦.都是字符不能显示.是不是DELPHI有问题呀.