Sql角色提供程序

时间:2015-06-12 11:02:26

标签: sql asp.net role

我是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);



  




当我构建它时,我收到了一个错误。

请提前帮助。

1 个答案:

答案 0 :(得分:1)

您的方法期待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 });