procedure TfmMEM001.Rrest_Search;
var
Row : Integer ;
begin
Row := 0 ;
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Text :=
' SELECT '
+ #13 + ' R01_APPLNO , '
+ #13 + ' R01_HNNAME , '
+ #13 + ' C05_LOWXNA , '
+ #13 + ' substring(R01_APDATE , 1 , 4) + ''-'' + substring(R01_APDATE , 5 , 2) + ''-'' + substring(R01_APDATE , 7 , 2) , '
+ #13 + ' substring(R01_ENTRDT , 1 , 4) + ''-'' + substring(R01_ENTRDT , 5 , 2) + ''-'' + substring(R01_ENTRDT , 7 , 2) , '
+ #13 + ' substring(R01_RECVDT , 1 , 4) + ''-'' + substring(R01_RECVDT , 5 , 2) + ''-'' + substring(R01_RECVDT , 7 , 2) , '
+ #13 + ' ( SELECT COUNT (R16_APPLNO) '
+ #13 + ' FROM R16_REST '
+ #13 + ' WHERE R16_APPLNO = A.R01_APPLNO '
+ #13 + ' AND R16_RESTCO = ''0010'' '
+ #13 + ' ) '
+ #13 + ' FROM '
+ #13 + ' R01_APPL A , '
+ #13 + ' C05_COMD '
+ #13 + ' WHERE '
+ #13 + ' R01_STATGU = C05_LOWXCO '
+ #13 + ' AND '
+ #13 + ' C05_HIGHCO = ''R020'' '
+ #13 + ' AND '
+ #13 + ' R01_STATGU IN (''0020'' , ''0040'' , ''0090'') '
+ #13 + ' AND '
+ #13 + ' R01_APDATE = :p_Date1 ' // 날자변수 파라미터 설정
+ #13 + ' ORDER BY '
+ #13 + ' R01_APPLNO ' ;
// ADOQuery1.Parameters.ParamByName('p_Date1').Value := '2008-08-30' ; 이렇게 해봤지만...
실행은 되는데 Module Load: UNKNOWN_MODULE_43. No Debug Info. Base Address: $01EB0000.Process sub_RRest.exe(2068) 이라고 이벤트로그에 나오구요 조금 더 기다리면 Thread Exit: Thread ID:2168, Process sub_RRest.exe(2068) 이라고 됩니다. 결과는 안나오구요
// ADOQuery1.Parameters.ParamByName('p_Date1').AsString := pMsApdate1.text ; 이렇게 하면
[Pascal Error] uMEM001.pas(133): E2003 Undeclared identifier: 'AsString' 에러가 나오구요(실행도안됨)
ADOQuery1.Open ;
if ADOQuery1.IsEmpty then
begin
Exit ;
end;
StrGrid1.RowHeights[01] := StrGrid1.RowHeights[00] ;
while not ADOQuery1.Eof do
begin
StrGrid1.Cells[00 , Row + 1] := '' ;
StrGrid1.Cells[01 , Row + 1] := ADOQuery1.Fields[00].AsString ;
StrGrid1.Cells[02 , Row + 1] := ADOQuery1.Fields[01].AsString ;
StrGrid1.Cells[03 , Row + 1] := ADOQuery1.Fields[02].AsString ;
StrGrid1.Cells[04 , Row + 1] := ADOQuery1.Fields[03].AsString ;
StrGrid1.Cells[05 , Row + 1] := ADOQuery1.Fields[04].AsString ;
StrGrid1.Cells[06 , Row + 1] := ADOQuery1.Fields[05].AsString ;
// StrGrid1.Cells[07 , Row + 1] := ADOQuery1.Fields[06].AsString ;
Row := Row + 1 ;
StrGrid1.RowCount := Row + 1 ;
AdoQuery1.Next ;
Application.ProcessMessages ;
end;
end;
위 쿼리에서 파라미터 적용부분을 제외하고는 어설프긴 하지만 원하는 결과가 나오거든요.
어디가 잘못 된것은 분명한데요... 어디가 잘못 되었는지를 도무지 알수가 없네요. 포럼에서 비슷한경우를 찾아 보기도했지만... ^^; 파라미터로 날자를 받아서 결과를 검색하고 싶거든요.
초보적인 질문에 외면하지 마시고 길라잡이가 되어주세요... 부탁드립니다...
|