您好,欢迎访问一九零五行业门户网

如何使用delphi将Clientdataset的Delta保存到数据库中

[delphi] view plain copy //atablename-表名, akeyfield-主键,多个主键用;隔开,如 ;pid;times; from:unit hlsimplbase; [delphi] view plain copy function thlsimplbase.updatetabledata(atablename, akeyfield: ansistring; var adata: variant): boolean; var lsql: string; ldataset: tdataset; lprovider: tprovider; lerrcount: integer; i: integer; begin result := false; if atablename = '' then exit; if akeyfield = '' then exit; lsql := 'select * from ' + atablename + ' where 1 = 2'; ldataset := createdataset(lsql); if not assigned(ldataset) then exit; lprovider := tprovider.create(nil); lprovider.updatemode := upwherekeyonly; lprovider.dataset := ldataset; akeyfield := lowercase(akeyfield); for i := 0 to ldataset.fieldcount - 1 do begin if (lowercase(ldataset.fields[i].fieldname) = akeyfield) or (pos(';' + lowercase(ldataset.fields[i].fieldname) + ';', akeyfield) > 0) then ldataset.fields[i].providerflags := ldataset.fields[i].providerflags + [pfinkey] else ldataset.fields[i].providerflags := []; end; try try lprovider.applyupdates(adata, -1, lerrcount); except end; result := lerrcount = 0; finally ldataset.free; lprovider.free; end; end;
以上就是如何使用delphi将clientdataset的delta保存到数据库中的详细内容。
其它类似信息

推荐信息