안녕하세요...
제가 Excel파일을 AdoQuery를 이용해서 그리드로 불러오는 작업을 하고 있는데요..
이상한 현상이 있어서 조언을 구하고 싶습니다.
아래와 같은 방법으로 읽어 오는데요.
<!--CodeS-->
while not AdoQuery.Eof do //자료가 끝날때 까지
begin
grdDataview.AddRow();
for mCol := 0 to AdoQuery.Fields.Count - 1 do
grdDataview.Cells[mCol, mRow].Value := AdoQuery.Fields[mCol].Value; //<== (1)
Inc(mRow);
Application.ProcessMessages;
AdoQuery.Next; //다음 레코드로 이동한다.
end;
<!--CodeE-->
eximg1.jpg와 eximg2.jpg의 경우 모두 6번째줄까지만 A컬럼의 데이터가 올라오고
7번째부터는 Null로 올라오는 현상이 발생하고 있습니다...+_+
(1)번 라인에서 브레이크를 걸어보면 Null로 올라오는게 보이더라구요.
엑셀의 컬럼에 오류표시가 있어서 값이 널로 올라오는 건 아니구요..
처음에는 데이터가 올라오다가 입력타입(?)이 바뀌면 널로 올라오더라구요..
이 현상의 원인을 아시는분 혹시 없으신가요???
부탁드립니다...
그럼...(--)(__)(--);;
Check해보고 해당 Col의 속성(char, float..)을 결정해버리더라구요(이게Bug인지?)..
해서 ADoQuery.field[n]의 속성을 원하시는 Type으로 바꿔주시면 될것으로 보입니다.
아니면 ADoquery Dataset속성을 지정하실때 Extended=False인가를 지정하면
된다고 알고 있습니다.
도움이되시길