Попытка найти идентификатор последней вставленной строки; возвращаемое значение зашифровано

Я использую 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() который вернет список результатов. Затем вы можете зациклить их, чтобы прочитать содержимое.

Другие вопросы по тегам