ClientDataSet1.ApplyUpdates(0);
我写了这句话,但是怎么没提交到数据库了啊?
ClientDataSet1的fetchondemond:=false;packetrect:=-1;
中间层的datasetprovider的resolvetodataset:=false;
就是一个很简单的COM+和客户段,怎么数据就是不提交啊?我哪天还提交了今天就没提交了。
肯定没有提交吗?
我也遇到同样的问题
这个问题如果你的中间层就是Query,比较简单没什么操作的话,不会有什么问题的
你的中间层setcomplete了吗?
unit UUpdata;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
ActiveX, Mtsobj, Mtx, ComObj, PUpData_TLB, StdVcl,PBaseData_TLB,Midas;
type
TUpDataEmp = class(TMtsAutoObject, IUpDataEmp)
protected
procedure UpDataE(var vData: OleVariant; iMaxCount: Integer;
var iErrorCount: Integer; var ownerData: OleVariant); safecall;
end;
implementation
uses ComServ;
procedure TUpDataEmp.UpDataE(var vData: OleVariant; iMaxCount: Integer;
var iErrorCount: Integer; var OwnerData: OleVariant);
var
MyUpdata:IBaseData;
MyAppSer:IAppServer;
begin
try
OleCheck(ObjectContext.CreateInstance(CLASS_BaseData,IID_IBaseData,MyUpdata));
MyAppSer:=MyUpdata as IAppServer;
MyAppSer.AS_ApplyUpdates(DataSetProvider1,vData,iMaxCount,iErrorCount,OwnerData);
SetComplete;
except
SetAbort;
end;
end;
initialization
TAutoObjectFactory.Create(ComServer, TUpDataEmp, Class_UpDataEmp,
ciMultiInstance, tmApartment);
end.