有如下代码,实现的功能为选中一条数据后点击按钮自动添加一条相似数据。
var
lsql:string;
qryUpdate: TQuery;
id:string;
begin
qryUpdate := TQuery.Create(self);
try
id:= IntToStr(PARAMS.TPARAMS.Create(Context).GetNewPK('XSCJGL'));
qryUpdate.ConnectionString := 'DATABASEURL=Biz:\OPERATION\OperationDB.Database';
lSql := 'insert into XSCJGL select '+id+' as fid,XH,XM,ZY,0-CJ as FCJ,XK,RXSJ from XSCJGL';
qryUpdate.CommandText := lSql;
qryUpdate.Execute;
finally
qryUpdate.Free;
end;
end;
问题1:当数据集中只有一条数据时,可以生成数据,当数据集中有两条以上数据时会报“违反主键唯一性错误”,可以肯定id每次的值都不同,GetNewPK方法写在业务字典中。
问题2:每次退出时报错“对象必须在环境之前释放”,id这个对象怎么释放? |