1、建立视图
create view v_收费通知单
as
select s.StuTuitionID,s.StudentName,sp.SpecilityName,n.Year,n.Term,n.Grade,n.SumValue,n.学杂费,n.学年学费,n.书费
from Fina_Student s,Fina_Specility sp,Fina_Notice n
where s.StuTuitionID=n.StuTuitionID
and sp.SpecilityID=n.SpecilityID
go2、建立视图INSTEAD OF 触发器
--本来想写触发器 的,但发现表结构好像和我想象的并不相同,
--专业应该是学生的属性?
--如果增加数据,需不需要修改学生和专业两个表?

解决方案 »

  1.   

    大哥,我这样做达不到我要的需求啊,
    我是想,把你写的那张视图,在界面上用DataGrid显示(我用DataAdapter.TableMappings把这个视图的数据反射到DataGrid上,这样修改DataGrid上 就相当于修改了DataSet里面的数据),然后我想把DataSet修改后的记录,更新到数据库里面去,有类似这样的解决方案吗?
      

  2.   

    我想达到,及时更新的效果(当录入者,的光标出了DataGrid的一个格子,我就自动让它更新到数据库里面去)
      

  3.   

    你没回答我关于表结构的疑问INSTEAD OF 触发器 可以做到你对视图做的操作就象操作一个表,而操作的结果是保存在基表的现在的问题是由于以上疑问存在,我写不了这个触发器
      

  4.   

    对不起!
    专业是学生的属性,
    增加数据?(Fina_Notice收费通知单的数据吗 )我在给你写两个相关的表:
    Fina_Item(收费项目表) 
    字段:
    ID         收费名称
    ItemID    ItemName
    收费名称和 Fina_Notice(收费通知单)表的的收费项目一一对应的,Fina_Item里有多少记录
    Fina_Notice里面就有多少个字段。Fina_ChargeItme 学年/学期/年级/专业/收费项目列表
    字段:
    ID            收费项目ID  年               期             专业     年级   收费金额 
    ChargeItemID  ItemID      AcademicYear  AcademicTerm  SpecilityID  Grade  Dues
      

  5.   

    有点太复杂这个触发器写不出来还是在客户端想办法吧,dataset应该可以不连接数据库的,编辑好了再想办法写入数据库