Q&A

  • 이 Query 문장좀 봐주세요 어디가 틀렸는지...정말 모르겠네요..
자꾸 오류가 나옵니다

Error Creating cursor handle 라고 나옵니다.

왜그런지요 아시는분 계시면 좀 알려 주세요..

부탁 드립니다.

with Query3 do begin

Active := False;

sQry := ' UpDate item ';

sQry := sQry + ' Set BaseJaeGo = BaseJaeGo - :sItmCount ';

sQry := sQry + ' where (itmCode = :sitmCode) and (ComCode = :sComCode) ';

Sql.Clear;

Sql.Add(sQry);

paramByName('sItmCount').AsFloat := dmQc.tblBill.FieldbyName('itmCount').Asfloat;

ParamByName('sItmCode').AsString := dmQc.tblBill.FieldByName('ItmCode').AsString;

paramByName('sComCode').AsString := dmQc.tblBill.FieldbyName('ComCode').AsString;

Active := True;

End;

1  COMMENTS
  • Profile
    이성찬 2001.07.18 21:07
    파라미터를 미리 생성하신거 같은데 맞나요?

    혹시 SQL 문장내에서만 사용하신거 아니죠?



    참고로 제가 만든 파라미터 동적생성하는 함수 올립니다.

    도움이 되시길...



    ==========================================================================================



    function fbTableOpen( cdstOpen : TQuery; lsSQL : String;

    const lasParamNames : array of String;

    const laoParamTypes : array of TFieldType;

    const lavParamValues : array of Variant;

    const labParamValueSets : array of Boolean;

    lbTemp : Boolean) : Boolean;

    var

    liI : Integer;

    begin

    with cdstOpen do

    begin

    if Active then

    Close();



    if lsSQL <> '' then

    begin

    SQL.Clear();



    SQL.Add(lsSQL);

    end;



    Params.Clear();



    for liI := Low(laoParamTypes) to High(laoParamTypes) do

    begin

    Params.CreateParam(laoParamTypes[liI], lasParamNames[liI], ptInput);



    if labParamValueSets[liI] then

    Params[liI].AsString := lavParamValues[liI];

    end;



    ExecSQL();

    end;

    end;