Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 在数据集上插入时出错_Delphi_Delphi Xe6 - Fatal编程技术网

Delphi 在数据集上插入时出错

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

当我尝试在TClientDataSet上插入一些字符串数据时,我会不断得到

数据集未处于编辑或插入模式

错误。我在数据集上还有一些其他字符串字段,但它只发生在一个字段上。名为“数据”的字段

下面是创建数据集的代码

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