Why are you doing things twice ?
paramDiscreteValue.Value = TextBoxUser_ID.Text;
paramDiscreteValue.Value = TextBoxYear.Text;
paramField.Name = "User_id";
paramField.Name = "Year";
string sessiontype = TextBoxUser_ID.Text;
string sessiontype = TextBoxYear.Text;