자꾸 오류가 나옵니다
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;
혹시 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;