如何在mvc中将数据库中的详细信息显示给单个用户

How to display details from database to the single user in mvc

我正在尝试从数据库中获取详细信息以显示在视图中。在这里我需要显示当前登录的特定用户的记录。但不幸的是,DB table 中的所有数据都进入了视图。但是我不想显示所有数据。

在数据库中,我有两个 table 用于 tblEmployee 和 TaskDetails。 这是我的模特:

public class TaskDetails
{
     public string ProjectID { get; set; }
     public string ProjectName { get; set; }
     public DateTime StartDate { get; set; }
     public DateTime EstimatedDate { get; set; }
     public string TaskDescription { get; set; }
}

这是我的控制器, 要在这里获取数据,我使用 ADO.Net、

public ActionResult TaskDetails(string td)
{           
     string connectionstring = "data source = NLTI37; initial catalog = Data; integrated security = True; MultipleActiveResultSets = True; App = EntityFramework";
     string sql = "select * from TaskDetail";
     SqlConnection conn = new SqlConnection(connectionstring);
     SqlCommand cmd = new SqlCommand(sql, conn);
     var Details = new List<TaskDetails>();
     { 
         conn.Open();
         SqlDataReader rdr = cmd.ExecuteReader();
         while (rdr.Read())
         {
               var ProjectDetail = new TaskDetails();
               ProjectDetail.ProjectID = rdr["ProjectID"].ToString();
               ProjectDetail.ProjectName = rdr["ProjectName"].ToString();
               ProjectDetail.StartDate = DateTime.Parse(rdr["StartDate"].ToString());
               ProjectDetail.EstimatedDate = DateTime.Parse(rdr["EstimatedDate"].ToString());
               ProjectDetail.TaskDescription = rdr["TaskDescription"].ToString();
               Details.Add(ProjectDetail);
         }
    }
    return View(Details);
}

我在这里使用 ADO.Net 来获取详细信息。我需要在当前登录的用户的视图上显示这些详细信息。

这是我的观点:

<tbody>
       @foreach (var ProjectDetail in Model)
       {   
            <tr>
               <td>@ProjectDetail.ProjectID</td>
               <td>@ProjectDetail.ProjectName</td>
               <td>@ProjectDetail.StartDate</td>
               <td>@ProjectDetail.EstimatedDate</td>
               <td>@ProjectDetail.TaskDescription</td>
            </tr>
       }
</tbody>

这里我需要显示当前登录用户的记录。但不幸的是,我在这里获得了所有用户详细信息。根据我的理解 SQL 声明是错误的。如果错了,请纠正我。如何获取特定用户详细信息的详细信息。谁能帮忙解决这个问题。

我认为你应该使用 where 子句。试试这个。 我假设 td 是你的 ProjectID

string sql = "select * from TaskDetail where ProjectID=@ProjectID";
SqlConnection conn = new SqlConnection(connectionstring);
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@ProjectID", td);