当我尝试在TClientDataSet上插入一些String数据时,我不断得到
DataSet未处于编辑或插入模式。
错误。我在数据集上有一些其他字符串字段,但它只发生一个字段。该字段名为“data”。
以下是数据集
的创建代码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'变量是一个String,它以String格式返回'yyyy-mm-dd hh:nn:ss'日期。
当代码到达该行时,已经检查并且Dataset.State是dsInsert。如果我评论该行,其余的工作正常。 它只发生在那个领域。已经问过一些合作伙伴开发者,他们也不知道为什么会这样。