看提示也知道了,主键冲突了嘛。
append无所谓,append多少次都不会报错,但是如果你的表有主键,并且两次append保存的主键相同的话,提交时肯定会报错,主键冲突。CDS.Open;
CDS.Append;
CDS.Fields[0].AsString := '1';
CDS.Post;CDS.Open;
CDS.Append;
CDS.Fields[0].AsString := '2';
CDS.Post;//上面代码不会报错
CDS.Open;
CDS.Append;
CDS.Fields[0].AsString := '1';
CDS.Post;CDS.Open;
CDS.Append;
CDS.Fields[0].AsString := '1';
CDS.Post;
//上面代码会报错,因为两次append的记录,第一列(Fields[0])的值是一样的,并且第一列是主键,所以报错主键冲突!