2016-11-17 8 views
2

私はPyQt4.QtSql.QSqlQueryを使用します。私はフォームから値を取得し、それらをデータベースに挿入したい。私は接続を開き、追加を試みますが、データベースに値はなく、エラーもありません。どうしたの?QSqlQueryデータベースへの挿入が機能しません

db  = QSqlDatabase.addDatabase("QMYSQL") 

    db.setHostName("localhost") 
    db.setDatabaseName("vista") 
    db.setUserName("root") 
    db.setPassword("secret") 

    if (db.open()==False):  
     QMessageBox.critical(None, "Database Error", 
      db.lastError().text()) 
    query = QSqlQuery() 
    query.prepare("INSERT INTO user (fio, sex,polis,document,birtday) " 
     "VALUES (:fio, :sex,:polis,:document,:birtday)"); 
    query.bindValue(":fio", fio); 
    query.bindValue(":sex", sex); 
    query.bindValue(":polis", polis); 
    query.bindValue(":document", document); 
    query.bindValue(":birtday", birtday); 
    query.exec_(); 

答えて

2

あなたが行った変更commitする必要があります。

if query.exec_(): 
    db.commit() 
else: 
    QMessageBox.warning(None, "Database Error", 
     query.lastError().text()) 
関連する問題