c#
  • datatable
  • dataset
  • smalldatetime
  • 2012-09-05 4 views 1 likes 
    1

    datatable에는 4 열이 있고 그 중 하나는 smalldatetime 유형입니다. SQL베이스에서 datatable을 검색 할 때 datatable을 통해 더 많은 쿼리를 수행하고 싶지만 특정 시간에만 쿼리를 수행하고 싶습니다. 이것이 가능한가?smalldatetime 열의 데이터 선택 가능 시간

    DataRow[] rows = dataset.Tables[0].Select("resStart = 'some date '" + myTime+"'"); 
    

    특히 내가 그렇게 마침내이

    DataRow[] rows = dataset.Tables[0].Select("resStart = '" + myDate +" " + myTime+"'"); 
    
    +1

    정말 자세한 내용을 제공해야합니다. 나는 심지어 질문을하지 않는다. 명백한 대답은 "예"이지만 예상 한 바가 아닌 것 같습니다. – m4573r

    +0

    데이터베이스에서 검색하는 데 사용중인 코드를 표시해야합니다. 기본적으로 열에'between'을 추가하여'where' 절을 추가하려고합니다. –

    +0

    Select * from tbale name 여기서 CONVERT (VARCHAR (10), Colum_Name, 8) = 'Your Spcifictime here' –

    답변

    1

    같은 쿼리에서 하나 개의 행을 retreive dhould 데이터 그리드의 날짜와 시간을 탐색하는 것을 시도하고있다 :

    는이 같은 뭔가 노력입니다 이 소스 코드 내에서 데이터를 쿼리하려는 경우 DataTable 클래스는 메서드를 지원합니다. SELECT 조건을 사용하여 테이블을 필터링 할 수 있습니다. . 자세한 설명은 MSDN을 확인하십시오.

    string filterExpression = "YOUR_SMALLDATE_COLUMN > #1/1/00#"; 
    DataRow[] rows = YOUR_DATATABLE_VAR.Select(filterExpression); 
    
    // eg. print out results - or rebind data etc. 
    for(int i = 0; i < rows.Length; i ++) 
    { 
        Debug.WriteLine(rows[i]["ANY_COLUMN_NAME"]); 
    } 
    

    물론, 당신은 또한 데이터베이스에 SELECT 문을 변경할 수 있으며, whereClause을 추가합니다.

    1

    이것이 가능합니까?

    물론 있습니다. Linq에 - 투 - 데이터 집합을 사용하여 예를 들어 :

    var thisYearsRows = table 
        .AsEnumerable() 
        .Where(r => r.Field<DateTime>("SmalldateTimeField").Year == DateTime.Now.Year); 
    

    당신은 using System.Linq;System.Data.DataSetExtensions.dll에 대한 참조를 추가해야합니다.

     관련 문제

    • 관련 문제 없음^_^