2014-01-08 2 views
1

저는 파이썬에 초보자이며 문제가 생겼습니다. 어느 누구도이 문제를 해결하는 데 도움이되지 않습니다. 요구 사항은 sqlite 데이터베이스를 만들었고 테이블을 만들고 값을 삽입했지만 문제는 파이썬에서 테이블 뷰의 데이터베이스에서 데이터를 표시하는 방법을 얻지 못하는 것입니다. 모든 예제 코드 이것은 예상 된 결과를 달성하는 방법에 대한 예이기는하지만 짧은 또한데이터베이스의 데이터를 파이썬에서 테이블 뷰로 표시하는 방법

+0

지금까지 어떤 시도를 했습니까? – maurelio79

+0

다음과 같은 QlistWidget을 사용하려고했습니다. –

+0

patientList = QtGui.QListWidget() qitem = Qtgui.QListWidgetItem (queryCurs) –

답변

5

도움이됩니다

db_con = sqlite3.Connection 
db_name = "./patientData.db" 
createDb = sqlite3.connect(db_name) 
queryCurs = createDb.cursor() 
queryCurs.execute('''CREATE TABLE IF NOT EXISTS PATIENT 
    (NAME TEXT NOT NULL, ID INTEGER PRIMARY KEY, AGE INTEGER NOT NULL, GENDER TEXT NOT NULL , EYE_TYPE TEXT NOT NULL)''') 

pName = self.patientEdit.text() 
pId =self.patientidEdit.text() 
#pId1 = int(pId) 
pAge = self.ageEdit.text() 
#pAge1 = int(pAge) 
pGender = self.patientgend.text() 
pEye_type = self.eyeTypeEdit.text() 
queryCurs.execute('''INSERT INTO PATIENT(NAME,ID,AGE, GENDER,EYE_TYPE) VALUES(?, ?, ?, ?, ?)''',(pName, pId, pAge, pGender, pEye_type)) 
print ('Inserted row') 
createDb.commit() 

지금 어떻게이있는 tableview/목록보기에 데이터를 DISPALY 수 있습니다 .. 미리 감사드립니다. 트릭은 QSqlQueryModel을 정의하고 QTableView으로 전달하는 것입니다. 이런 식으로 sqlite3 모듈 대신 PyQt4 SQL 모듈을 사용하면 테이블이 자동으로 쿼리 결과를 루프 할 수 있습니다.

from PyQt4.QtSql import QSqlQueryModel,QSqlDatabase,QSqlQuery 
from PyQt4.QtGui import QTableView,QApplication 
import sys 

app = QApplication(sys.argv) 

db = QSqlDatabase.addDatabase("QSQLITE") 
db.setDatabaseName("patientData.db") 
db.open() 

projectModel = QSqlQueryModel() 
projectModel.setQuery("select * from patient",db) 

projectView = QTableView() 
projectView.setModel(projectModel) 

projectView.show() 
app.exec_() 
관련 문제