如何在mvc中显示数据库中的单个用户的详细信息
问题描述:
我想从数据库中获取详细信息以显示在视图中。在这里,我需要显示当前登录的特定用户的记录。但不幸的是,数据库表中的所有数据都进入了视图。但我不想显示所有的数据。如何在mvc中显示数据库中的单个用户的详细信息
在数据库中我有两个表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 [email protected]";
SqlConnection conn = new SqlConnection(connectionstring);
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@ProjectID", td);
+0
谢谢jee..its working – Meghana
你需要一个'where'在SQL子句。您的用户如何与您的员工联系以了解您的任务细节尚不清楚,但这是编写该地点所需的关键信息。 – Richard
就像@Richard所说 - 我们假设你的一个表有一个外键给用户。它是ProjectTable或TaskDetail表。如果您提供了这两个表格的设计,这将非常有帮助。但基本上你应该做的是改变你的查询,所以它有一个where子句,它定义了哪些记录被提取。 – MarioMucalo
通过请求“我不想显示所有数据”意味着您想使用带有参数的WHERE子句 - 根据需要选择要筛选提取数据的条件。如果要查询其他表与查询字符串中的现有表一起使用,请使用'JOIN'子句。 –