Sql 角色提供者

Sql Role Provider

我是 asp.net 的新手,我正在尝试实现我的角色提供程序,实际上是 sql 角色提供程序。在我的角色提供者中,我添加了:

 public void AddUsersToRole(string[] usernames, string[] rolenames)
        {
            SqlConnection conn =
                 new SqlConnection(
                     ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
            SqlCommand cmd = new SqlCommand("INSERT INTO Users " +
                                               " (Username, Role) " +
                                               " Values(?, ?)", conn);
            SqlParameter Username = cmd.Parameters.Add("@Username", SqlDbType.NVarChar, 50);
            SqlParameter Role = cmd.Parameters.Add("@Role", SqlDbType.NVarChar, 50);


            try
            {
                conn.Open();

                foreach (string username in usernames)
                {
                    foreach (string rolename in rolenames)
                    {
                        Username.Value = username;
                        Role.Value = rolename;
                        cmd.ExecuteNonQuery();
                    }
                }
            }

但是当我在登录页面输入以下内容时:

                    Roles.AddUsersToRole(TextBoxUsername.Text, DropDownListRole.SelectedItem.Value);

  

当我构建它时出现错误。

请帮忙,提前tnx。

您的方法需要 string[],但您提供的是 string

Roles.AddUsersToRole(TextBoxUsername.Text, DropDownListRole.SelectedItem.Value);

public void AddUsersToRole(string[] usernames, string[] rolenames)

解决方案:

Roles.AddUsersToRole(new string[] { TextBoxUsername.Text }, new string[] { DropDownListRole.SelectedItem.Value });