我正在使用c#在asp.net中编写课程和包形式,因为我是新手我在执行任务时面临的问题是在数据库中插入所选项的外键,因此我创建了三个表{{1} }包含courses
(pk)和Id
,Course-name
包含Pkg-code
(pk),Id
,最后一个表格为Pkg-name
,其中包含{ {1}}(fk)引用引用Pkg
的{{1}}和Pkg-id
(fk)。
现在我要做的是当我从下拉菜单中选择包时,从Web应用程序中的复选框开始,所选项目的Id将通过外键插入第三个表Pkg-Code(Id)
现在问题我我面临的是当我执行它时错误生成无法在Course-Id
中插入NULL值,我的存储过程在执行时正常工作,插入第三个表pkg中的值,我想在数据库中建立一对多的关系,我搜索了很多但找不到所需的答案请帮忙
Courses(Id)
代码:
Pkg
答案 0 :(得分:0)
存储过程中的代码是什么,因为它未列出?
从查看Button1_Click代码,我很惊讶您将参数值作为NVarChar传递给存储过程。通常,表的主要键和外键是整数,或者在某些情况下是GIUD。
您要做的第一件事就是验证您从drop1和check11控件获取的内容。您应该在代码行上放置一个断点,将值分配给参数。执行中断时,检查每个控件返回的值。如果它们没有返回有效值,则检查绑定到page_load事件代码中下拉控件的数据。
如果返回的值有效,则错误位于存储过程或存储数据的表中。表中的外键值是否与主键值中的主键值相同另外两张桌子?存储过程中是否存在编码错误?
希望这有帮助。