두 날짜로 레코드를 검색하고 싶습니다. 캘린더를 통해 두 날짜가 사용자에 의해 선택됩니다. 내가 그것을 작동 후 약간의 날짜와 시간을 교체 할 경우 내 데이터베이스에서캘린더를 사용하여 두 날짜 사이의 모든 레코드를 선택하십시오.
public List<Staff> GetStaff(DateTime DateOne, DateTime DateTwo, string staffColourCode)
{
List<Staff> l= new List<Staff>();
SqlConnection conn = new connection etc...
SqlCommand command = new SqlCommand("SELECT * FROM TableName WHERE CAST(Time AS date) BETWEEN @Time and @Time", conn);
command.Parameters.AddWithValue("@Time", DateOne);
conn.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Staff s= new Staff();
s.Name= reader["Name"].ToString();
etc...
l.Add(s);
}
conn.Close();
return l;
}
하지만 어떻게 내가는 사용자가 두 개의 날짜를 선택하고 DateOne 및 DateTwo 검색을 기반으로 할 수있는 쿼리를 작성 않습니다 이것은 내가 쿼리를 작성하는 방법입니다 사용자가 무엇이든간에 색상 코드를 가진 직원 목록 녹색, 노란색 등 ... 코멘트 위의 당신은 당신의 매개 변수 중 하나를 사용하고 있습니다 명시된대로
글쎄요, 당신은 현재'BETWEEN @Time AND @ Time'을 사용하고 있습니다 - 확실히 두 개의 다른 * 매개 변수가 필요합니다. 하나는 시작을위한 것이고 다른 하나는 끝을위한 것입니다 ... –
'BETWEEN @fromDate AND @ toDate' –