尝试插入记录时外键的基本问题
Basic issue with Foreign key while trying to insert a record
我链接了 3 个表:
[T_User]
AUsr_ID [PK] | AUsr_LogonID | AUsr_UserDisplayName
-------------+--------------+---------------------
417 | VI00IV | John Doe
[T_ApplicationRoles]
Role_ID [PK] | Role_Name | Role_Description
-------------+--------------+--------------------------
6 | Default Role | Default Role Attributed
[T_ApplicationRoles用户]
RoUs_ID [PK auto-incremented] | RoUs_Role_ID [FK] | RoUs_ApUs_ID [FK]
------------------------------+-------------------+------------------
1 | 6 | 417
我手动在 T_ApplicationRolesUsers
中插入一行,结果很顺利。
当我尝试在 C# 中插入同一行时,出现错误:
这些是我要插入的值 T_ApplicationRolesUser
:
UserRoleToAdd.RoUs_Role_ID = 417;
UserRoleToAdd.RoUs_ApUs_ID = 6;
这是我得到的错误:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_T_ApplicationRolesUsers_T_ApplicationRoles".
The conflict occurred in database "DBS", table "dbo.T_ApplicationRoles", column 'Role_ID'.
您正在尝试为 Role_ID 417 插入内容 - 该角色是否存在?从你提供的表格来看没有,如果我不得不冒险猜测,我建议你把你的 417 和你的 6 搞错了。
而不是:
UserRoleToAdd.RoUs_Role_ID = 417;
UserRoleToAdd.RoUs_ApUs_ID = 6;
我想你的意思是:
UserRoleToAdd.RoUs_Role_ID = 6;
UserRoleToAdd.RoUs_ApUs_ID = 417;
我链接了 3 个表:
[T_User]
AUsr_ID [PK] | AUsr_LogonID | AUsr_UserDisplayName
-------------+--------------+---------------------
417 | VI00IV | John Doe
[T_ApplicationRoles]
Role_ID [PK] | Role_Name | Role_Description
-------------+--------------+--------------------------
6 | Default Role | Default Role Attributed
[T_ApplicationRoles用户]
RoUs_ID [PK auto-incremented] | RoUs_Role_ID [FK] | RoUs_ApUs_ID [FK]
------------------------------+-------------------+------------------
1 | 6 | 417
我手动在 T_ApplicationRolesUsers
中插入一行,结果很顺利。
当我尝试在 C# 中插入同一行时,出现错误:
这些是我要插入的值 T_ApplicationRolesUser
:
UserRoleToAdd.RoUs_Role_ID = 417;
UserRoleToAdd.RoUs_ApUs_ID = 6;
这是我得到的错误:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_T_ApplicationRolesUsers_T_ApplicationRoles".
The conflict occurred in database "DBS", table "dbo.T_ApplicationRoles", column 'Role_ID'.
您正在尝试为 Role_ID 417 插入内容 - 该角色是否存在?从你提供的表格来看没有,如果我不得不冒险猜测,我建议你把你的 417 和你的 6 搞错了。
而不是:
UserRoleToAdd.RoUs_Role_ID = 417;
UserRoleToAdd.RoUs_ApUs_ID = 6;
我想你的意思是:
UserRoleToAdd.RoUs_Role_ID = 6;
UserRoleToAdd.RoUs_ApUs_ID = 417;