Please good people, i need your help. I having been trying to solve this problem, but no way. what is the best method to insert data so that this error of data truncation will be avoided in C#/asp.net. Here is what i have been trying to do:

public class BuildTable
{
	public static string BuildmyTable(string Regno)
	{
        int counter = 1;
        using (DataTable dtReciept = fetchtopicData(counter))
        {

           
           
                DataTable dtReciept2 = fetchRecieptData(Regno);
                string connStr = ConfigurationManager.ConnectionStrings["ProBookDatabase.mdf"].ConnectionString;
                SqlConnection conn = new SqlConnection(connStr);
                conn.Open();
                string query = "INSERT INTO SwitchData(FullName,RegNumber,Department,TopicID,Session,LecturerName,StaffID,Topic,ProblemDefinition,SkillsRequired,MaxNOfPerson) VALUES(@TopicID,@Session,@LecturerName,@StaffID,@Topic,@ProblemDefinition,@SkillsRequired,@MaxNOfPerson,@FullName,@RegNumber,@Department)";

                SqlCommand cmd = new SqlCommand(query, conn);

                cmd.Parameters.AddWithValue("@FullName", dtReciept2.Rows[0]["FullName"]);
                cmd.Parameters.AddWithValue("@RegNumber", Regno.Trim());
                cmd.Parameters.AddWithValue("@Department", dtReciept2.Rows[0]["Department"]);
                cmd.Parameters.AddWithValue("@Session", dtReciept.Rows[0]["Session"]);
                cmd.Parameters.AddWithValue("@TopicID", dtReciept.Rows[0]["TopicID"]);
                cmd.Parameters.AddWithValue("@LecturerName", dtReciept.Rows[0]["LecturerName"]);
                cmd.Parameters.AddWithValue("@StaffID", dtReciept.Rows[0]["StaffID"]);
                cmd.Parameters.AddWithValue("@Topic", dtReciept.Rows[0]["Topic"]);
                cmd.Parameters.AddWithValue("@ProblemDefinition", dtReciept.Rows[0]["ProblemDefinition"]);
                cmd.Parameters.AddWithValue("@SkillsRequired", dtReciept.Rows[0]["SkillsRequired"]);
                cmd.Parameters.AddWithValue("@MaxNOfPerson", dtReciept.Rows[0]["MaxNOfPerson"]);
                int id = Convert.ToInt32(cmd.ExecuteScalar());
                return Regno;


            
        }

    }
    private static DataTable fetchtopicData(int counter)
    {
        string connStr = ConfigurationManager.ConnectionStrings["ProBookDatabase.mdf"].ConnectionString;
        const string query = "Select * from Project_File Where Id = @Id";
        DataTable Recieptresult = new DataTable();
        using (SqlConnection conn = new SqlConnection(connStr))
        {
            conn.Open();
            using (SqlCommand cmd = new SqlCommand(query, conn))
            {
                cmd.Parameters.Add("@Id", SqlDbType.NVarChar).Value = counter;
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    Recieptresult.Load(dr);
                }
            }
        }
        return Recieptresult;
    }

    private static DataTable fetchRecieptData(string Regno)
    {
        string connStr = ConfigurationManager.ConnectionStrings["ProBookDatabase.mdf"].ConnectionString;
        const string query = "Select FullName,RegNumber,Department from StudentRegister Where RegNumber = @RegNumber";
        DataTable Recieptresult = new DataTable();
        using (SqlConnection conn = new SqlConnection(connStr))
        {
            conn.Open();
            using (SqlCommand cmd = new SqlCommand(query, conn))
            {
                cmd.Parameters.Add("@RegNumber", SqlDbType.NVarChar).Value = Regno;
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    Recieptresult.Load(dr);
                }
            }
        }
        return Recieptresult;
    }
}

But it will be giving me error