2017-04-19 24 views
0

에 내가 값 query_exec은 (myTable에 * FROM를 선택) DB는 DB에서 정보의 검색을 작동하지만로 pyqt5

def updateExpenseEntryToDb (self): 
    self.day = self.line_edit1.text() 
    self.category = self.line_edit2.text() 
    self.amount = self.line_edit3.text() 

    db = QSqlDatabase.addDatabase('QSQLITE') 
    db.setDatabaseName('expenses.db') 
    db.open() 
    query = QSqlQuery() 
    query.exec_("create table expense(date DATE primary key, " 
    "category varchar(20), amount varchar(20))") 
    query.exec_("insert into expense (date,category,amount) values('%s','%s','%s')" % (self.day, self.category, self.amount)) 
    db.close() 

    db1 = QSqlDatabase.addDatabase('QSQLITE') 
    db1.setDatabaseName('expenses.db') 
    db1.open() 
    query1 = QSqlQuery() 
    query1.exec_("SELECT date, category, amount FROM expenses.expense") 

    while (query1.next()): 
     extractedDate = query1.value(0).toString() 
     extractedcategory = query1.value(1).toString() 
     extractedAmount = query1.value(2).toString() 
     self.line_edit1.setText(extractedDate) 
     self.line_edit2.setText(extractedcategory) 
     self.line_edit3.setText(extractedAmount)   
    db1.close() 

아래 삽입과 같은 기능이 실패합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까 ? 선택 쿼리처럼 보이지 않습니다. 아무 것도 검색하지 않습니다.

답변

0

query.first()while (query1.next()): 앞에 넣으십시오. 그러나 첫 번째 행은 사용되지 않습니다.

더 나은 :

query.first() 
while query.isValid(): 
    # Your Code 
    query.next()