一、问题
二、代码和数据库展示
1、主键表和外建表
2、部分代码展示
'将注册的学生信息更新到学生信息表 cmd.CommandText = "Insert into StudentInfo(SID,SName,Sex,class,Phone,Grade,Dept)values(@SID,@SName,@Sex,@Sclass,@Phone,@Grade,@Dept)" '将注册的卡号信息更新到卡号信息表 cmd.CommandText = "Insert into CardInfo(SID,CID,Type,Money,IsCheck,UserID)values(@SID,@CID,@Type,@Money,@IsCheck,@UserID)" '将注册金额等信息更新充值记录表 cmd.CommandText = "Insert into RechargeLog(UserID,CID,Time,RechargeMoney,Money)values(@UserID,@CID,@Time,@RechargeMoney,@Money)"
在建立的外键约束中,因为CardInfo表中的SID 应用到了StudentInfo表中的主键SID ,所以在插入数据时,应该先在StudentInfo表中插入,然后才能向CardInfo中插入。同理,删除数据时,也应该先在StudentInfo表中删除,然后 才能在CardInfo表中删除。
四、小结
其实这个问题挺简单的,想想也应该是这样先操作StudentInfo表再处理CardInfo表,但是刚开始的时候就是无从下手,所以当意识到是外键约束的问题之后,气急啊。所以学习还是 要多注意一下,认真一下,会节省很多时间,避免很多错误。