本文主要是介绍【VB.NET机房重构】外键冲突,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、问题
二、代码和数据库展示
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表,但是刚开始的时候就是无从下手,所以当意识到是外键约束的问题之后,气急啊。所以学习还是 要多注意一下,认真一下,会节省很多时间,避免很多错误。
这篇关于【VB.NET机房重构】外键冲突的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!