Delphi 在数据集上插入时出错
当我尝试在TClientDataSet上插入一些字符串数据时,我会不断得到 数据集未处于编辑或插入模式 错误。我在数据集上还有一些其他字符串字段,但它只发生在一个字段上。名为“数据”的字段 下面是创建数据集的代码Delphi 在数据集上插入时出错,delphi,delphi-xe6,Delphi,Delphi Xe6,当我尝试在TClientDataSet上插入一些字符串数据时,我会不断得到 数据集未处于编辑或插入模式 错误。我在数据集上还有一些其他字符串字段,但它只发生在一个字段上。名为“数据”的字段 下面是创建数据集的代码 with FdsCabecalho.FieldDefs do begin Add('id', ftInteger); Add('empresa', ftInteger); Add('data', ftString, 100 ); Add('idClien
with FdsCabecalho.FieldDefs do begin
Add('id', ftInteger);
Add('empresa', ftInteger);
Add('data', ftString, 100 );
Add('idCliente', ftInteger);
Add('nomeCliente', ftString, 100);
Add('idVendedor', ftInteger);
Add('total', ftFloat);
Add('totalDesconto', ftFloat);
Add('frete', ftFloat);
Add('codigouMov', ftString, 100);
Add('assinaturaCliente', ftString, 255);
end;
FdsCabecalho.CreateDataSet;
下面是插入的代码:
with FdsCabecalho do begin
Append;
FieldByName('id').AsString := IntToStr(frmMain.dmDados.getIDCabecalho(frmMain.empresa, idOrcamento));
FieldByName('empresa').AsInteger := frmMain.empresa;
FieldByName('data').AsString := data; {When the execution passes this line the error happends}
FieldByName('codigouMov').AsString := idOrcamento;
FieldByName('idCliente').AsString := nCliente.ChildNodes.Nodes['alternativeIdentifier'].Text;
FieldByName('nomeCliente').AsString := nCliente.ChildNodes.Nodes['description'].Text;
FieldByName('idVendedor').AsString := nVendedor.ChildNodes.Nodes['alternativeIdentifier'].Text;
end;
“data”变量是一个字符串,以字符串格式返回“yyyy-mm-dd hh:nn:ss”日期
当代码到达该行时,Dataset.State为dsInsert。如果我评论这句话,它的其余部分就可以了。
它只发生在这个领域。已经询问了一些合作伙伴开发人员,但他们也不知道为什么会发生这种情况。哪里有
.Post
?FdsCabecalho是否有数据
属性?不使用FdsCabecalho do@kobik进行尝试。帖子是在其他代码之后发布的。。尝试设置字段值时出错。。。不是在邮政声明上。@DavidA是的,这解决了问题。谢谢。仅供参考:TCustomClientDataSet
具有公共属性数据:OleVariant
在哪里。Post
?FdsCabecalho是否具有数据
属性?不使用FdsCabecalho do@kobik进行尝试。帖子是在其他代码之后发布的。。尝试设置字段值时出错。。。不是在邮政声明上。@DavidA是的,这解决了问题。谢谢。仅供参考:TCustomClientDataSet
具有公共属性Data:OleVariant