2013-01-25 2 views
0

누구나 pyodbc가 Python 3.2와 함께 설치 되었습니까? 나는 통역사가 "commit()"을 인식하지 않는다는 것 외에는 모두 잘 알고있다. 다른 사람도 같은 문제가 있습니까? 내가 잘못했는지 아는 사람이 있습니까? 감사합니다. John RPython 3.2에서 pyodbc "commit"명령을 인식하지 못했습니다.

+0

당신은'당신이) (커밋'사용하는 코드를 게시 할 수 없습니다 : 여기

conx = pyodbc.connect("""Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=C:\Documents and Settings\Owner\My Documents\ Database2.accdb;""", autocommit = True) 

+0

[pyodbc 3.0.6] (http://code.google.com/p/pyodbc/wiki/ReleaseNotes#3.0.6_-_2012-06-25)는 커서에'commit' 및'rollback' 메소드를 추가했습니다. – Bryan

답변

0

커밋 사용하여 내 코드의 예()이다? 이 메소드는 커서가 아닌 Connection 객체에서 호출됩니다. 문제 일 수 있습니다.
0

나는 그것을 찾아 냈습니다. 여전히 commit()을 사용할 수 없지만 pyodbc.connect() 함수에서 "autocommit = True"가 포함되면 모든 삽입이 자동으로 커밋되고 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()