做一个学生选课的系统,其中有学生表,课程表和学生选课表。学生选课表中两列分别是学号和课程名在一个小模块中,通过dbgrid显示课程表,并由dbnavigator对其进行更新删除插入等操作。
这样给我带来的问题是,在更新课程时,虽然课程表中的课程名(被设为主键)已经被更新,但是选课表中的课程名还没有被更新,请问在使用Dbgrid操作的前提下怎样才能实现同时对课程表和学生选课表的同时更新啊。急,谢谢各位

解决方案 »

  1.   

    触发器或者用Qeruy写sql语句更新。另外建议不要用课程名做主键,建一个课程编号列做主键,在选课表中用不用课程名用课程编号,主外键联系很方便。
      

  2.   

    谢谢你的回复,我不太明白的地方是要怎么样才能触发更新,比如在哪里设置,才能通过dbgrid中对student表的更新达到同时更新选课表,迷茫中。希望能指点下我,谢谢!
      

  3.   

    请问我修改(update)student表中的一个主键sid以后,怎样设置才能同步更新选课表sc中的sid?是在ondatachang里面么?还是在其他的地方,谢谢啊
      

  4.   

    级联更新是在表的定义里面,因此如果用级联更新就得修改表的定义,触发器是在服务器端,如果使用触发器,就需要为此建立update触发器,触发器有插入前/后,更新前/后等种。
      

  5.   

    应该是根据表中的关联字段,使所有的表成为关联的表,再根据相关SQL
    语句显示出来即可..........