插入DataSet时出错

时间:2015-11-03 11:05:13

标签: delphi delphi-xe6

当我尝试在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。如果我评论该行,其余的工作正常。 它只发生在那个领域。已经问过一些合作伙伴开发者,他们也不知道为什么会这样。

0 个答案:

没有答案