示例#1
0
文件: liveinfo.cpp 项目: frankyue/phm
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();
	 }
}
示例#2
0
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();
}
示例#4
0
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();
            }
        }
    }
}
示例#5
0
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]
    }
}