批号 品种 材质 规格(mm) 宽(mm) 长(mm) 数量(吨) 存货仓
1 桥梁板 Q345qD 10 490 9000 19 5
2 圆钢 Q235 25 9000 23 4
3 锅炉板 20G 18 1800 9300 15 0
4 容器板 16MnR 20 2000 8100 15 2
5 中厚板 Q235B 50 2400 12000 19 1
6 低合金板 Q345B 85 2920 8500 13.5 1
7 普板 Q235 170 1400 5600 14 9
8 低合金 Q345B 56 2670 10550 18.2 8
9 高强度板 WH60A 32 2900 9850 14 6
10 低压锅炉管 20# 1080*32 15 3

这是我库存的表,用ado和datagrid显示了,然后要做出库,只在 数量(吨)上改变,并且,数量超过库存要报错,
代码该怎么写,会的教教我吧,多谢了,

解决方案 »

  1.   

    可以用存储过程或触发器啊  
    create trigger tr_out 
    on 库存表 
    for insert 
    as 
    set nocount on  
    update a set a.数量=a.数量-b.数量 from 库存表 as a join INSERTED as b on a.批号=b.批号 
    set nocount off 
    go 
      

  2.   

    create trigger nothan
    on 库存表 for insert
    as
    begin
    if exists(select 1 from inserted where T_counter>T2_counter)
    begin
    raiserror 50005 N'出库数不能大于库存量'
    rollback
    end
    end
      

  3.   

    虽然不懂楼上两位兄弟的解答,但谢谢你们,我用sql语句解决了,呵呵,每人10分吧,欢迎以后常来~