void Liveinfo::SubmitButton() { // bool a,b,c; if(NameEdit->text().isEmpty() || ContactEdit->text().isEmpty() || IDEdit->text().isEmpty() || DaysEdit->text().isEmpty() || DespoitEdit->text().isEmpty()) { QMessageBox::critical(0,QObject::tr("Error!"),QObject::tr("Please Fill them all!"),QMessageBox::Cancel); } else { QString Ename = NameEdit->text(); QString Econtact = ContactEdit->text(); QString EID = IDEdit->text(); QString Edays = DaysEdit->text(); QString Edeposit = DespoitEdit->text(); QDate cudate = QDate::currentDate(); cudate = cudate.addDays(Edays.toInt()); Eetime = cudate.toString("yyyy-MM-dd"); QSqlTableModel *insertGuest = new QSqlTableModel; //修改Guest中的记录 insertGuest->setTable("Guest"); insertGuest->select(); // 只要指定Row=0即可插入新行 int row = 0; insertGuest->insertRows(row,1); insertGuest->setData(insertGuest->index(row, 0), QVariant(Ename)); insertGuest->setData(insertGuest->index(row, 1), QVariant(EID)); insertGuest->setData(insertGuest->index(row, 2), QVariant(Econtact)); insertGuest->setData(insertGuest->index(row, 3), QVariant(RoomNum)); // a = insertGuest->submit(); insertGuest->submit(); QSqlTableModel *insertRecord = new QSqlTableModel; //修改Record中的记录 insertRecord->setTable("Record"); insertRecord->select(); insertRecord->insertRows(row,1); insertRecord->setData(insertRecord->index(row,0),QVariant(Ename)); insertRecord->setData(insertRecord->index(row,1),QVariant(RoomNum)); insertRecord->setData(insertRecord->index(row,2),QVariant(Edays)); insertRecord->setData(insertRecord->index(row,3),QVariant(Edeposit)); insertRecord->setData(insertRecord->index(row,4),QVariant(Estime)); insertRecord->setData(insertRecord->index(row,5),QVariant(Eetime)); // b = insertRecord->submit(); insertRecord->submit(); UpdateRoom(RoomNum,1); //修改已入住的房间 // if(a && b && c) // { QMessageBox msgBox; msgBox.setText("Succeed to live in! Welcome"); msgBox.exec(); // } QDialog::accept(); } }
void Database::saveUnits(QString userName, QList<Unit> units) { QSqlTableModel model; model.setTable("user"); model.select(); QString saveName; for (int i=0; i<model.rowCount(); ++i) { QSqlRecord record = model.record(i); if (record.value("name").toString()==userName) { saveName=record.value("id").toString(); break; } } saveName.prepend("save"); model.setTable(saveName); int row=0, line=0; model.select(); model.removeRows(row, model.rowCount()); model.submitAll(); while(line<units.size()) { model.insertRows(row,1); model.setData(model.index(row,0), line+1); model.setData(model.index(row,1), units[line].imageFileName); model.setData(model.index(row,2), units[line].faceLeft); model.setData(model.index(row,3), units[line].vLocation); model.setData(model.index(row,4), units[line].hLocation); model.setData(model.index(row,5), units[line].hitPoints); model.setData(model.index(row,6), units[line].totalHitPoints); model.setData(model.index(row,7), units[line].actionTime); model.setData(model.index(row,8), units[line].actionRate); model.setData(model.index(row,9), units[line].movementRange); model.setData(model.index(row,10), units[line].attackRange); model.setData(model.index(row,11), units[line].attackPower); model.setData(model.index(row,12), units[line].status); model.setData(model.index(row,13), units[line].maskFileName); model.setData(model.index(row,14), units[line].team); model.setData(model.index(row,15), units[line].unitWorth); model.submitAll(); line++; } }
void ChengjiaoQianyueDialog::on_pushButton_clicked() { qDebug() << "add"; QSqlTableModel * model = this->dbcon->qianyue; int row = model->rowCount(); model->insertRows(row, 1); model->setData(model->index(row, 0), this->comboBoxFang->currentText()); model->setData(model->index(row, 1), this->comboBoxKe->currentText()); model->setData(model->index(row, 2), this->comboBoxRen->currentText()); model->setData(model->index(row, 3), this->spinBoxYongjin->text().toInt()); model->setData(model->index(row, 4), this->comboBoxFen->currentText()); model->setData(model->index(row, 5), this->spinBoxBianhao->text().toInt()); model->submitAll(); }
void MainWindow::appendDataAfterCurrent() { if(ui->articleList->currentIndex().isValid()) { int res = insertDlg->exec(); if(res == QDialog::Accepted) { QSqlTableModel* mdl = mysqlDataModel->getMapTableModel(); int newRowIndex = ui->articleList->currentIndex().row() + 1; if(!mysqlDataModel->articleExists(insertDlg->getArticleName().toUpper().toStdString())) { mdl->insertRows(newRowIndex, 1); mdl->setData(mdl->index(newRowIndex, 1), insertDlg->getArticleName().toUpper()); mdl->setData(mdl->index(newRowIndex, 2), insertDlg->getArticleDescription()); mdl->setData(mdl->index(newRowIndex, 3), QString::fromStdString(TriangleNumber::getBindedStrID(insertDlg->getVote()))); mdl->submitAll(); mdl->select(); } } } }
void sql_intro_snippets() { { //! [26] QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("bigblue"); db.setDatabaseName("flightdb"); db.setUserName("acarlson"); db.setPassword("1uTbSbAs"); bool ok = db.open(); //! [26] Q_UNUSED(ok); } { //! [27] QSqlDatabase firstDB = QSqlDatabase::addDatabase("QMYSQL", "first"); QSqlDatabase secondDB = QSqlDatabase::addDatabase("QMYSQL", "second"); //! [27] } { //! [28] QSqlDatabase defaultDB = QSqlDatabase::database(); //! [28] //! [29] QSqlDatabase firstDB = QSqlDatabase::database("first"); //! [29] //! [30] QSqlDatabase secondDB = QSqlDatabase::database("second"); //! [30] } { // SELECT1 //! [31] QSqlQuery query; query.exec("SELECT name, salary FROM employee WHERE salary > 50000"); //! [31] //! [32] while (query.next()) { QString name = query.value(0).toString(); int salary = query.value(1).toInt(); qDebug() << name << salary; } //! [32] } { // FEATURE //! [33] QSqlQuery query; int numRows; query.exec("SELECT name, salary FROM employee WHERE salary > 50000"); QSqlDatabase defaultDB = QSqlDatabase::database(); if (defaultDB.driver()->hasFeature(QSqlDriver::QuerySize)) { numRows = query.size(); } else { // this can be very slow query.last(); numRows = query.at() + 1; } //! [33] } { // INSERT1 //! [34] QSqlQuery query; query.exec("INSERT INTO employee (id, name, salary) " "VALUES (1001, 'Thad Beaumont', 65000)"); //! [34] } { // NAMED BINDING //! [35] QSqlQuery query; query.prepare("INSERT INTO employee (id, name, salary) " "VALUES (:id, :name, :salary)"); query.bindValue(":id", 1001); query.bindValue(":name", "Thad Beaumont"); query.bindValue(":salary", 65000); query.exec(); //! [35] } { // POSITIONAL BINDING //! [36] QSqlQuery query; query.prepare("INSERT INTO employee (id, name, salary) " "VALUES (?, ?, ?)"); query.addBindValue(1001); query.addBindValue("Thad Beaumont"); query.addBindValue(65000); query.exec(); //! [36] } { // UPDATE1 //! [37] QSqlQuery query; query.exec("UPDATE employee SET salary = 70000 WHERE id = 1003"); //! [37] } { // DELETE1 //! [38] QSqlQuery query; query.exec("DELETE FROM employee WHERE id = 1007"); //! [38] } { // TRANSACTION //! [39] QSqlDatabase::database().transaction(); QSqlQuery query; query.exec("SELECT id FROM employee WHERE name = 'Torild Halvorsen'"); if (query.next()) { int employeeId = query.value(0).toInt(); query.exec("INSERT INTO project (id, name, ownerid) " "VALUES (201, 'Manhattan Project', " + QString::number(employeeId) + ')'); } QSqlDatabase::database().commit(); //! [39] } { // SQLQUERYMODEL1 //! [40] QSqlQueryModel model; model.setQuery("SELECT * FROM employee"); for (int i = 0; i < model.rowCount(); ++i) { int id = model.record(i).value("id").toInt(); QString name = model.record(i).value("name").toString(); qDebug() << id << name; } //! [40] } { // SQLTABLEMODEL1 //! [41] QSqlTableModel model; model.setTable("employee"); model.setFilter("salary > 50000"); model.setSort(2, Qt::DescendingOrder); model.select(); for (int i = 0; i < model.rowCount(); ++i) { QString name = model.record(i).value("name").toString(); int salary = model.record(i).value("salary").toInt(); qDebug() << name << salary; } //! [41] } { // SQLTABLEMODEL2 QSqlTableModel model; model.setTable("employee"); //! [42] for (int i = 0; i < model.rowCount(); ++i) { QSqlRecord record = model.record(i); double salary = record.value("salary").toInt(); salary *= 1.1; record.setValue("salary", salary); model.setRecord(i, record); } model.submitAll(); //! [42] // SQLTABLEMODEL3 int row = 1; int column = 2; //! [43] model.setData(model.index(row, column), 75000); model.submitAll(); //! [43] // SQLTABLEMODEL4 //! [44] model.insertRows(row, 1); model.setData(model.index(row, 0), 1013); model.setData(model.index(row, 1), "Peter Gordon"); model.setData(model.index(row, 2), 68500); model.submitAll(); //! [44] //! [45] model.removeRows(row, 5); //! [45] //! [46] model.submitAll(); //! [46] } }