Попытка найти идентификатор последней вставленной строки; возвращаемое значение зашифровано
Я использую pypyodbc с SQL Server 2016.
Я пытаюсь вставить и захватить последний идентификатор, вставленный в базу данных после замечаний другого пользователя, но возвращаемое значение кажется зашифрованным. Есть ли способ расшифровать его?
def executeSQL (command):
connection = pypyodbc.connect('Driver={SQL Native Client};'
'Server=blah\blah;'
'Database=Impact;'
'uid=Admin;pwd=F$sfgdfgs99')
cursor=connection.cursor()
cursor.execute(command)
id = cursor.execute("SELECT @@IDENTITY")
connection.commit()
connection.close()
return id
sqlexecute = 'INSERT INTO PERSONS([LastName], [FirstName]) VALUES(\''+lastname.encode('utf-8')+'\',\''+firstname.encode('utf-8')+'\');\n'
lastid = executeSQL(sqlexecute)
print lastid
Выход:
<pypyodbc.Cursor instance at 0x000000000B870C88>
1 ответ
Решение
Он не зашифрован, он сообщает вам тип объекта, экземпляром которого он является. В этом случае это pypyodbc.Cursor
,
Чтобы получить реальные строки, вы делаете id.fetchall()
который вернет список результатов. Затем вы можете зациклить их, чтобы прочитать содержимое.