function TzVATBIL.DETAILGRIDSERCH(DETAILSTATUS : String) : Integer;
begin
qry_dtl.SQL.Clear;
if DETAIL_STATUS = 'SAVE' then
qry_dtl.SQL.Add('select * from edi_vatdtl where doc_no =
' + QuotedStr(inEdit1.Text) +
' order by doc_no asc')
else if DETAIL_STATUS = 'GRID' then
qry_dtl.SQL.Add('select * from edi_vatdtl where doc_no =
' + QuotedStr(DBGrid1.Fields[0].AsString) +
' order by doc_no asc');
Result := qry_dtl.RecordCount;
end;
________________에러메세지_______________________________
qry_dtl : Cannot perform this operation on a closed dataset
_______________어떤경유는...______________________________
qry_dtl : Dataset not in edit or insert mode
---------------------------------------------------------
해석만으로는 처리(원인분석)가 힘들더라구여!
지금 상태는 FromCreate시에 OPEN을 했구여! DB는 오라클이구여!
물론 qry_dtl쿼리는 다른부분에서 또 사용하기도 합니다. 사용한다는것은
select를 사용했는거구여!
어라 이상하다..ㅡㅡ;
SQL에 쿼리문장만 ADD한다고 해서 데이터 셋이 자동으로
리프레쉬 되진 않을겁니당..
qry_dtl.DisabledControls; //이건 그리드 같은데 연결된거라면..껌벅거림을 방지하기 위해서...
qry_dtl.Close;
qry_dtl.Sql.Clear;
qry_dtl.Sql.Add(....);
qry_dtl.Open;
qry_dtl.RecordCount; <- 이건 레코드셋이 오픈된 다음에 라야 값을 참조할수 있죠..
qry_dtl.EnabledControls; //finally 안쪽에 써주셔야 할겁니다.
//중간에 에러가 나면 그리드가 먹통상태로 남아있게 되니깐요..^^;
이런 순서로 ^^;
closed dataset -> 결과적으로 데이터셋이 오픈되지 않았다는 에럽니다.
즐프~