2016-11-17 5 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()) 
Смежные вопросы