Here you are use..
sqlcommand.ExecuteScalar();
menas you need only first colum from first row of you resulted data...
so why you use many columns in your query....
If you need to fill you dataset with your resulted data you need to do something like this..... no the way you do.....
SqlConnection cs = new SqlConnection("YOU CONNECTION STRING");
SqlDataAdapter da = new SqlDataAdapter();
string query = "select j.full_name,s.rate,s.Month_s,s.Year_s,s.Days_Att,s.Basic_Salary,s.DA,s.HRA,s.Conveyance,s.WA,s.T_Amt,s.ESI,s.PF,s.LWF,s.TDS,s.Deduction,s.Net_pay from Emp_Join as j INNER JOIN Salary as s ON j.emp_id = s.emp_id WHERE j.emp_id = " + TextBox1.Text;
da.SelectCommand = new SqlCommand(query, cs);
DataSet ds = new DataSet();
da.Fill(ds);
indivisual.Load(Server.MapPath("IndivisualReport.rpt"));
indivisual.SetDataSource(ds);
CrystalReportViewer1.ReportSource = indivisual;
here i have tried to modify you query to perform INNER JOIN that will help to get perfect data from you table if any column name are wrong then please modify that and write your own INNER JOIN query......