各位前辈,我用VS2003+SQL2000写一个最简单的C#会议室管理程序,现有据表A(会议室名称,是否空闲)与B(会议室名称,日期,会议开始时间,会议结束时间(注char型)),现在要实现的功能是,当我在表B中登记一笔记录(会议室1,2006-05-10,13:00, 14:00),能让表A的字段"是否空闲"自动随时间的变化而变化,就是说当时间在13:00-14:00之外显示为空闲,在此时间内显示为占用,请问我该怎么做?

解决方案 »

  1.   

    sql server里的触发器应该可以
      

  2.   

    有这个必要加上表A吗?
    只要对表B的时间进行判断不就能直接得到是否空闲了吗?SELECT  @Flag = 
          CASE 
             WHEN DATEPART(Hour,@Time) BETWEEN 13 and 14 THTN '空闲'
             ELSE '繁忙'
          END
    @Time为从A表中获得的时间
      

  3.   

    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GOALTER  TRIGGER [名称] ON [dbo].[B] 
    FOR  UPDATE,INSERT
    AS
    update A set 是否空闲 = 是 
    select B.会议开始时间,B.会议结束时间
    from B,
    where 13:00 <= B.会议开始时间 <=14:00
    and 13:00 <= B.会议结束时间 <=14:00GO
    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GO大概就是这样了  写得不太全  自己改改吧
      

  4.   

    表B新增记录后,重新取表A中的数据,根据表B中的数据来判断哪段时间空闲