2009-04-23 1 views
0

현대 언어를 사용하여 이전 스타일의 COBOL/RPG 보고서를 생성 할 수있는 능력이 없어졌습니다.방법 : 레코드 수가없는 데이터 배열 사용

종종 레코드 수에 의존하는 DataReaders를 사용하는 코드가 있습니다. 따라서 필요하지 않을 경우 추가 집계 쿼리가 제공됩니다.

대부분의 경우이 코드는 사용 가능한 다른 레코드가 있는지 여부를 알아야합니다. 즉, 내가 마지막 레코드에 있는지 기록해두면 레코드 구분 기호를 표시 할 수 있습니다. 다음과 같이

간단한 알고리즘은 다음과 같습니다 알고리즘의 간단한 변화가 충분하면


Dim available As Boolean = rdr.Read() 
While available 
    DisplaySearchRecord(rdr) 
    available = rdr.Read() 
    If available Then DisplaySeparator() 
End While 

하시기 바랍니다가, COUNT (*) 또는 데이터 테이블/데이터 세트를 사용하지 마십시오.

+1

이 질문이나 귀찮은 것입니까? –

+0

맞아요. 이것은 질문이 아닙니다. 나는 묻지 않는다. 나는 말하고있다. 질문 게시판에 이상한 종류. 그러나 잘하면 누군가가 이것을 발견하고 아하의 순간을 가질 것입니다. 지금까지의 세 가지 의견은 나를 놀라게합니다 .... –

답변

0

while 뒤에 구분 기호가 표시되지 않는 이유는 무엇입니까?

While rdr.Read() 
     DisplaySearchRecord(rdr) 
    End While 
    DisplaySeparator() 
0

당신은 당신이() reader.Read를 호출 계속해야이

Dim IsFirst As Boolean = True 

While rdr.Read() 
    If Not IsFirst 
    DisplaySeparator() 
    Else 
    IsFirst = False 
    End If 

    DisplaySearchRecord(rdr) 
End While 
0

뭔가를 시도 할 수 있습니다 더 이상 기록이없는 경우는 false를 돌려줍니다.

그래서 내가 할 것이 무엇 List<YourRecord>로 DB에서 데이터를 덤프하고 나는 목록이 채워 후 ... 루프는 (i ++)에 대한 그것을 반복하고 list.Count

에 난을 확인하다
관련 문제