一个郁闷的问题,三层结构
客户端 dll:
保存事件:
if Inkid='' then exit;
vtlist := vararraycreate([0, 0], varVariant);
vtlist[0] :='保存数据';
ClientDataSet1.providername := 'DataSetProvider_Blobrc';
ClientDataSet1.DataRequest(vtlist);
with ClientDataSet1 do
begin
close;
providername := 'DataSetProvider_Blobrc';
open;
if findkey([Inkid]) then //问题出在这里,如果去掉此句,保存成功。有无其它方法定位记录?
begin
edit;
ClientDataSet1CDSDesigner.LoadFromFile(FFileName);
applyUpdates(0);
end;
close;
end;
服务器端:
function Tscgl_datamould.DataSetProvider_wordDataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
begin
if input[0]='保存数据' then
begin
with Table2 do
begin
close;
TableName :='XTGL_BMBZB';
end;
end;
运行时报错如下:
’操作失败,可能原因,clientDataSet1,No index currently active‘
数据表已为kid建有唯索引,
请问是什么原因?怎么解决