Note that there are some explanatory texts on larger screens.

plurals
  1. POSQL Error: foreign key value cannot be inserted because a corresponding primary key value does not exist
    primarykey
    data
    text
    <p>I am creating a Manage Roles - Admin page using standard <code>WebSecurity</code> functionality.</p> <p>I'm getting the this error </p> <blockquote> <p><em>Foreign key value cannot be inserted because a corresponding primary key value does not exist. [Foreign key constraint name = fk_UserId]</em></p> </blockquote> <p>on the following line of code:</p> <pre><code>if(!Roles.IsUserInRole(userNames[0], roleNames[0])){ Roles.AddUsersToRoles(userNames, roleNames); } </code></pre> <p>My understanding that the individual tables should be linked with a <code>userId</code> column. And they are. I am using WebMatrix 2 and the Razor framework for the development.</p> <p>Any ideas or solutions by you SQL Masterminds? Thanks a lot!</p> <p>Below is the code fragment of how I am going about it!</p> <pre><code> @{ var roleName = ""; string[] userNames = new string[1]; string[] roleNames = new string[1]; var db = Database.Open("ResearchA"); var selectQueryString = "SELECT UserId, username FROM [usernames]"; if(IsPost){ // Create new role if(!Request["buttonCreateRole"].IsEmpty()){ roleName=Request["textRoleName"]; if(!Roles.RoleExists(roleName) &amp;&amp; !roleName.IsEmpty()){ Roles.CreateRole(roleName); } } // Delete role if(!Request["buttonDeleteRole"].IsEmpty()){ roleName=Request["textRoleName"]; if(Roles.GetUsersInRole(roleName).Length == 0 &amp;&amp; !roleName.IsEmpty()){ Roles.DeleteRole(roleName, true); } } // Add user to role if(!Request["buttonAddUserToRole"].IsEmpty()){ userNames[0] = Request["selectUserName"]; roleNames[0] = Request["selectRoleName"]; if(!Roles.IsUserInRole(userNames[0], roleNames[0])){ Roles.AddUsersToRoles(userNames, roleNames); } } // Delete user from role if(!Request["buttonDeleteUserFromRole"].IsEmpty()){ userNames[0] = Request["selectUserName"]; roleNames[0] = Request["selectRoleName"]; if(Roles.IsUserInRole(userNames[0], roleNames[0])){ Roles.RemoveUsersFromRoles(userNames, roleNames); } } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload