보기에서 표시 할 데이터베이스의 세부 정보를 가져 오려고합니다. 여기에 현재 기록 된 특정 사용자의 기록을 표시해야합니다. 하지만 불행히도 DB 테이블에있는 모든 데이터가 표시됩니다. 하지만 모든 데이터를 표시하고 싶지 않습니다.MVC에서 단일 사용자에게 데이터베이스의 세부 정보를 표시하는 방법
DB에는 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' 당신의 SQL에 절. 사용자가 귀하의 업무 세부 사항에 대해 귀하의 직원과 어떻게 관계가 있는지는 분명하지 않지만 그 부분을 작성하는 데 필요한 핵심 정보입니다. – Richard
@Richard와 마찬가지로, 테이블 중 하나에 사용자에 대한 외래 키가 있다고 가정합니다. ProjectTable 또는 TaskDetail 테이블입니다. 이 두 테이블의 디자인을 제공하면 매우 유용 할 것입니다. 하지만 기본적으로 쿼리를 변경하여 가져올 레코드를 정의하는 where 절이 있어야합니다. – MarioMucalo
"모든 데이터를 표시하고 싶지 않음"을 요청하면 매개 변수와 함께 WHERE 절을 사용하려는 경우 - 필요에 따라 가져온 데이터를 필터링 할 조건을 선택하십시오. 쿼리 문자열에서 기존 테이블과 함께 다른 테이블을 쿼리하려면'JOIN' 절을 사용하십시오. –