Кто-нибудь установил pyodbc с Python 3.2? У меня есть, и все хорошо, за исключением того, что интерпретатор не распознает "commit()". У кого-нибудь еще есть такая же проблема? Кто-нибудь знает, если я делаю что-то не так? Спасибо, Джон Р.
Команда фиксации pyodbc не распознается в Python 3.2
Ответы (2)
вот пример моего кода с использованием commit() :
cnxn = pyodbc.connect('Driver={Microsoft Access Driver (*.mdb, *.accdb)}; Dbq=F:\\computing\\Payroll v2 2\\\employees.accdb')
cursor = cnxn.cursor()
cursor.execute("insert into Medication(ID, Doctor, NameOfMedication, Dosage, DateStart, DateEnd, Notes, LastUpdated) values (?,?,?,?,?,?,?,?)",self.ui.residentComboBox.currentText().split()[0], self.ui.doctorLineEdit.text(), self.ui.nameOfMedicationLineEdit.text(), self.ui.dosageLineEdit.text(), self.ui.dateStartDateEdit.text(), self.ui.dateEndDateEdit.text(), self.ui.notesTextEdit.document().toPlainText(), self.ui.lastUpdatedDateTimeEdit.dateTime().toString("dd/MM/yyyy, hh:mm:ss"))
cursor.execute("update Medication set MedEndMonth=? where ((ID=?)) ",month,resID)
cnxn.commit()
self.close()
person
Thomas
schedule
07.04.2013
Я нашел способ обойти это. Все еще не удалось заставить commit() работать, но в функции pyodbc.connect(), если включено «autocommit=True», все вставки фиксируются автоматически, и вам не нужно использовать функцию commit(). например
conx = pyodbc.connect("""Driver={Microsoft Access Driver (*.mdb, *.accdb)};
DBQ=C:\Documents and Settings\Owner\My Documents\
Database2.accdb;""", autocommit = True)
person
John of York
schedule
25.01.2013
commit()
? Этот метод вызывается для объекта Connection, а не для курсора — возможно, проблема в нем. - person A. Rodas   schedule 12.03.2013commit
иrollback
методы для курсоров. - person Bryan   schedule 26.03.2013