如何在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);
我正在尝试从数据库中获取详细信息以显示在视图中。在这里我需要显示当前登录的特定用户的记录。但不幸的是,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);