laptop and a wrench

漏洞

Recordset.AddNew results in an AXF_STATUS of 'geometry modified' instead of 'created.'

上次发布: January 1, 2015 ArcPad
漏洞 ID 编号 NIM075530
已提交November 17, 2011
上次修改时间June 5, 2024
适用范围ArcPad
找到的版本10.0
修正版本10.2.2
状态Fixed

解决办法

Use the DataSource object and SQL statements to programmatically add data.The following example programmatically adds a pole to the Riverside sample’s 'Poles' layer. This code references the Poles layer in the Riverside_mdb.axf file from the installed sample data.<a href="file:C:/Users/Public/Documents/ArcPad/Samples/Riverside" target="_blank">C:\Users\Public\Documents\ArcPad\Samples\Riverside</a>Dim objLayer, objDS, X, YSet objLayer = Map.Layers("Poles")Set objDS = objLayer.DataSourceX=Map.PointerXY=Map.PointerYDim strSQLstrSQL = "INSERT INTO [POLES] (POLEID,SHAPE_X,SHAPE_Y, AXF_TIMESTAMP, AXF_STATUS) VALUES (100011" & "," & X & "," & Y & "," & "GETDATE(),1)"objDS.Execute strSQLMap.Refresh(True)Set objLayer = NothingSet objDS = Nothing------------------------------------------------------------------------------When adding new polylines or polygons, users may need to just use RecordSet.AddNew, but before check-in of the AXF data, open it in ArcPad Studio, search for the newly added records then set the value of AXF_STATUS to 'created'. This workaround is based on the assumption that user only creates new records in the field, i.e, no geometry modification is performed at the same time The other workaround - use Map.AddFeature -- can also add new records to the current editable layer in the map and the value of the AXF_Status field is correct in AXF file

重现步骤

漏洞 ID: NIM075530

软件:

  • ArcPad

当漏洞状态发生变化时获得通知

下载 Esri 支持应用程序

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项