在项目开发过程中,需要实现数据的在线编辑和在线提交的功能,ArcGIS Server JS api 已经提供了相应的在线编辑功能,实现标注、编辑的功能。在实践中在时要同记录添加人、添加时间。这就要求在新增要素的同时,要记录相关属性。主要通过主要通过 FeatrueService 图层的 applyEdits 方来实现。
curFeatruLayer.applyEdits([newGraphic], null, null, function (e)
当用户绘制结束时,将生成一个 Graphic,同时可以人工构建 Graphic属性对值,将这个属性对值对象赋给 Graphic,再提交,就可以实现新增要素的同时,自定高录添加人、添加时间。
突然出现下面的问题:
(1)更新图形数据、更新属性没有问题。
(2) 在新建要素的同时,如不同时记录添加人、添加时间,则没有问题,如有在后台设置记录,则提交失败,新增不了要素。
(3)问题发生的背景是:数据刚从 SQL 企业库迁到 Oracle,点标注、线标注、面标注、道路、山脉同时出现这种问题。
猜想:是字段别名为中文的问题???? 数据记录损坏了????
经查,都不是上面这个问题。
后经仔细实验排查,发现上面的图层,比之前多出来几个字段,名字类似于:SHAPE_STAREA__ SHAPE_STLENGTH__,而且字段类型为非空,但没有设默认值。这样就会造成,在插入数据时,如果没有给这些字段赋值,就会插入失败,解决办法是(1)删除这些多余的字段。(2)取消非空属性,或者给字段设一个默认值。
问题的起因: 数据从不同数据库 复制或导数据,可能会因为数据类型的不同,会导致字段名、类型变化,或者会新增一些字段,这样会造成 js 客户端在提交数据时出现失败的可能。
突然出现下面的问题:
(1)更新图形数据、更新属性没有问题。
(2) 在新建要素的同时,如不同时记录添加人、添加时间,则没有问题,如有在后台设置记录,则提交失败,新增不了要素。
(3)问题发生的背景是:数据刚从 SQL 企业库迁到 Oracle,点标注、线标注、面标注、道路、山脉同时出现这种问题。
猜想:是字段别名为中文的问题???? 数据记录损坏了????
经查,都不是上面这个问题。
后经仔细实验排查,发现上面的图层,比之前多出来几个字段,名字类似于:SHAPE_STAREA__ SHAPE_STLENGTH__,而且字段类型为非空,但没有设默认值。这样就会造成,在插入数据时,如果没有给这些字段赋值,就会插入失败,解决办法是 (1)删除这些多余的字段。
(2)取消非空属性,或者给字段设一个默认值。
问题的起因: 数据从不同数据库 复制或导数据,可能会因为数据类型的不同,会导致字段名、类型变化,或者会新增一些字段,这样会造成 js 客户端在提交数据时出现失败的可能。