2017-04-13 9 views
-2

오늘 데이터가 액세스 데이터 테이블의 날짜와 같은지 확인하고 싶지만 문자열을 "system .data. data table"으로 변환 할 수 없다고 말하면 어떻게해야합니까?현재 날짜를 데이터 테이블의 날짜로 확인하는 방법은 무엇입니까?

public void ToDay() 
{ 
    DateTime dateTime = DateTime.UtcNow.Date; 
    string d = (string)Session["gouser"]; 

    DataTable t; 
    t="SELECT * FROM [ToDoList] where [UserID]='" 
     + d + "' AND [D]='" 
     + **dateTime.Date** + "'"); 
} 
+6

문자열은 DataTable이 아닙니다. 액세스하려면 연결을 열고 어댑터를 만든 다음 sql 명령을 사용하여 데이터 테이블을 채워야합니다. 이것은 필요한 세부 사항에서 설명하기에는 너무 광범위합니다. ADO.NET에서 자습서를 검색하십시오 – Steve

+1

t를 DataTable로 선언했습니다. 그런 다음 문자열을 할당합니다. Google 데이터 리더 사용 방법 – Matt

답변

1

당신은 항상 현재 날짜를 사용하려는 경우, 당신은 액세스 날짜() 대신 변수를 채우고 그것을 전달하는 기능을 사용할 수 있습니다.

public void ToDay() { 
    string d = (string)Session["gouser"]; 

    var query = " 
     SELECT * FROM [ToDoList] 
     WHERE [UserID]='" + d + "' 
     AND [D]= Date();"; 

    DataTable t = query.CopyToDataTable(); 
} 
+0

당신은 여전히 ​​컴파일되지 않을 것이라는 것을 깨닫습니다 ... 당신은'DataTable' 객체에 문자열을 할당하려합니다. –

+0

@Rufus, 더 나은가요? –

0

사용할 수있는 GETDATE() sql 함수 :

public void ToDay() 
{ 
    string d = (string)Session["gouser"]; 

    DataTable t; 
    t="SELECT * FROM [ToDoList] where [UserID]='" 
    + d + "' AND [D]= GETDATE()"; 
} 
+0

이것은 SQL Server가 아닌 Access이기도하며 GetDate()는 Date and Field를 Date only 필드와 일치하지 않게 반환합니다. –