AnsweredAssumed Answered

cursor.insert row error

Question asked by Tonyalmeida on Feb 13, 2014
Latest reply on Feb 14, 2014 by Tonyalmeida
I am trying to run a script as a tool but i get an error on cursor.insertRow(row) and i don't know why.
Could someone help me out please?

Traceback (most recent call last):   File "C:\Users\talmeida\AppData\Local\ESRI\Desktop10.1\AssemblyCache\{BB229966-100D-4482-A3FE-B298BD262597}\", line 45, in onMouseDownMap     cursor.insertRow(row) RuntimeError: Objects in this class cannot be updated outside an edit session [TonyTwoWay.DBO.TT]

code i am trying to run
import arcpy import pythonaddins import os from arcpy import env  class Add_points(object):     """Implementation for AddPoints_addin.Add_points (Tool)"""     def __init__(self):         self.enabled = True         self.cursor = 3 # Can set to "Line", "Circle" or "Rectangle" for interactive shape drawing and to activate the onLine/Polygon/Circle event sinks.     def onMouseDownMap(self, x, y, button, shift):          fc = "TonyTwoWay.DBO.TT"         workspace = r"Database Servers\DSD15_SQLEXPRESS.sde"         arcpy.env.overwriteOutput = True          # Start an edit session. Must provide the worksapce.         edit = arcpy.da.Editor(env.workspace)          # Edit session is started without an undo/redo stack for versioned data         #  (for second argument, use False for unversioned data)         edit.startEditing(True)          # Start an edit operation         edit.startOperation()          list = []         with arcpy.da.SearchCursor(fc, ["AddressID"]) as cursor:             for row in cursor:                 try:                     if "CC" in row[0]:                         list.append(int(row[0].strip("CC")))                    except TypeError:                     pass                 del cursor          list.sort()         AddressID = list[-1] + 1         AddressID = 'CC' + str(AddressID)          row_values = [(x, y, (x, y), AddressID)]         cursor = arcpy.da.InsertCursor(fc, ["X_Coord", "Y_Coord", "SHAPE@XY", "ADDRESSID"])          for row in row_values:             cursor.insertRow(row)         del cursor          arcpy.RefreshActiveView()                  # Stop the edit operation.         edit.stopOperation()          # Stop the edit session and save the changes         edit.stopEditing(True)                 pass