i am using visual studio and i have a table, but when i insert it gives me error : ***i am trying to insert data into the table but it is not allowing me it gives me an error and i think the error is from the role i dont know how to fix it so please i need help thank you***

**this is the member table that i am using**
<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-html -->

    CREATE TABLE [dbo].[Member] (
    [Member_Username] NVARCHAR (50) NOT NULL,
    [Password]        NVARCHAR (25) NOT NULL,
	[Role]            NVARCHAR (10) NULL,
    [FirstName]       NVARCHAR (50) NOT NULL,
    [LastName]        NVARCHAR (50) NOT NULL,
    [Gender]          NVARCHAR (8)  NOT NULL,
    [Email]           NVARCHAR (50) NULL,
    [DateOfBirth]     DATE          NOT NULL,
    PRIMARY KEY CLUSTERED ([Member_Username] ASC)
);
<!-- end snippet -->


**and this is the error i am getting when inserting the values in the table**
<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-html -->

    System.Data.SqlClient.SqlException: 'The parameterized query '(@memberU nvarchar(1),@pwd nvarchar(1),@role nvarchar(4000),@fna' expects the parameter '@role', which was not supplied.'

<!-- end snippet -->

**this is the member class that i have for inserting the user in the database table**

    public void AddMember()
    {
        //Open Database connection
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = Config.GetConnectionStr();
        conn.Open();
        //Prepare SQL Command with parameter
        string sql = "Insert into Member values(@memberU,@pwd, @role,@fname,@lname,@gender,@email,@dob)";
        SqlCommand cmd = new SqlCommand(sql, conn);
        cmd.Parameters.AddWithValue("memberU", this.Member_Username);
        cmd.Parameters.AddWithValue("pwd", this.Password);
        cmd.Parameters.AddWithValue("role", this.Role);
        cmd.Parameters.AddWithValue("fname", this.FirstName);
        cmd.Parameters.AddWithValue("lname", this.LastName);
        cmd.Parameters.AddWithValue("email", this.Email);

        //handling null values for gender and date of birth column
        if (this.Gender != null)
        {
            cmd.Parameters.AddWithValue("gender", this.Gender);
        }
        else
        {
            cmd.Parameters.AddWithValue("gender", DBNull.Value);
        }

        if (this.DateofBirth != null)
        {
            cmd.Parameters.AddWithValue("dob", this.DateofBirth);
        }
        else
        {
            cmd.Parameters.AddWithValue("dob", DBNull.Value);
        }

        //Execute Command
        cmd.ExecuteNonQuery();
    }


**and this is the sign up button**

    protected void btnSignUp_Click(object sender, EventArgs e)
    {
        
            if (Page.IsValid)// assuming you have done validations using validation controls
            {// c create a new object of type member and set all it's properties to values from controls
                Members user = new Members();
                //reading required values
                user.FirstName = txtFirstName.Text;
                user.LastName = txtLastName.Text;
                user.Member_Username = txtUserName.Text;
                user.Password = txtPassword.Text;
                user.Email = txtEmail.Text;
                user.Gender = rdoGender.SelectedValue;
                //reading values that allow null in the database (date of birth)
                if (string.IsNullOrEmpty(txtDOB.Text))
                {
                    user.DateofBirth = null;

                }
                else
                {
                    user.DateofBirth = DateTime.Parse(txtDOB.Text);
                }

                //call the addMember method
                user.AddMember();

                //redirect the user to homePage
                Response.Redirect("Login.aspx");
            }

        
    }