我要用VB和sql2000数据库连接做一个学生成绩管理系统,它里面有学生信息表,课程表和成绩表,
其中课程表(cusinfo)的信息是
                    (课程名 char(8),
                     任课老师 char(8),
                     学分 int)
成绩表(scorinfo)的信息是
              (学号 char(10),
                姓名 char(8)
               )
课程表和成绩表要关联,课程表中有的课程信息在成绩表中都应该要有相应的课程,有我现在想要做的事情是当在课程表(cusinfo)中添加了一门课程的信息后,在成绩表(scorinfo)中自动的添加了那们课程的列,比如我在课程表中加入了语文这门课的信息后,在成绩表中自动的添加了语文这一列,(让成绩表自动的实现 alter scorinfo add 语文 char (8)的功能),删除也要达到这样的效果当删除课程表中的信息后,那么成绩表中相应的课程列也被删除了,这个用VB代码怎么实现?(不知道我的意思表达的够不够清楚)

解决方案 »

  1.   

    你别用VB代码实现了,就用SQL的触发器来做吧
    给个小例子吧
    IF EXISTS (SELECT name FROM sysobjects
          WHERE name = 'ESaveMoney_Group' AND type = 'TR')
       DROP TRIGGER ESaveMoney_Group
    GO
    CREATE TRIGGER ESaveMoney_Group
    ON eGroupSaveMoney
    FOR UPDATE
    ASif update(Phase)DECLARE 
       @OperatorID int,
       @SaveMoneyDate datetime,
       @CardID int,
       @SaveMoney numeric(10,2),
       @AfterSaveMoney numeric(10,2),
       @ComputerName varchar(30)SELECT 
       @OperatorID =e.OperatorID,
       @SaveMoneyDate =e.WriteCardTime,
       @CardID =e.CardID,
       @SaveMoney =e.SaveMoney,
       @AfterSaveMoney =e.AfterSave,
       @ComputerName =e.Computername
    FROM eGroupSaveMoney e INNER JOIN inserted i ON e.CardID = i.CardID Insert into eSaveMoney values(10,@SaveMoneyDate,@CardID,@SaveMoney,0,@AfterSaveMoney,1,@ComputerName,101,0,0)
      

  2.   

    谢谢楼上二位给我的回复!我现在做的这个学生成绩管理系统是数据库老师给我们的课程设计作业,要求我们用VB实现和数据库的连接,之前我们并没有一点VB基础,所以一楼说的方法我一点也看不懂,但是我仍然感谢她的热心,我会试一试二楼的方法,不行的话我再重试一种方案,不过我期待有更加好的方法,(最好能解决我的问题)希望大家能给我提供一些意见。