Example #1
0
void boardRegThread::saveLouxianToDB()
{
    int host = 1,iobr = 33,loop = 1,node = 0;
    QSqlDatabase::database().transaction();

    QSqlQuery query1;
    bool bSuccess1 = query1.exec(QString("DELETE FROM unitset WHERE unitid >= %1 AND unitid <= %2")
                                 .arg((host<<24) | (iobr<<16) | (loop<<8) | 1)
                                 .arg((host<<24) | (iobr<<16) | (loop<<8) | 0xff));
    if (!bSuccess1)
    {
        QSqlError lastError = query1.lastError();
        qDebug() << lastError.driverText()
                 <<QString(QObject::tr("delete unitset-louxian error"));
    }

    //add by linwotian,if delete the device from the unitset,then delete the same device from the shieldhis
    QSqlQuery queryshield;
    bool bSuccess_shield = queryshield.exec(QString("DELETE FROM shieldhis WHERE unitid >= %1 AND unitid <= %2")
                                            .arg((host<<24) | (iobr<<16) | (loop<<8) | 1)
                                            .arg((host<<24) | (iobr<<16) | (loop<<8) | 0xff));

    if (!bSuccess_shield)
    {
        QSqlError lastError = queryshield.lastError();
        qDebug() << lastError.driverText()
                 <<QString(QObject::tr("delete shieldhis error"));
    }

    QSqlQuery query;
    query.clear();
    query.prepare("INSERT INTO unitset(id, regist, shield, restated, level, unitid, geo_addr, type, delay, str)"
                  "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
    for (node = 1;node <= 255;node++)
    {
        query.addBindValue((iobr-1)*4*255+(loop-1)*8+node);
        (louxianReg[node-1]==LOUXIAN)?query.addBindValue(true):query.addBindValue(false);
        //(node == 0) ? query.addBindValue(true) : ((louxianReg[node-1]==LOUXIAN) ? query.addBindValue(true) : query.addBindValue(false));
        query.addBindValue(false);//initialized unshield
        query.addBindValue(false);
        query.addBindValue(false);
        query.addBindValue((host<<24) | (iobr<<16) | (loop<<8) | node);
        query.addBindValue(0x00000000);
        query.addBindValue(0x00FF0000|((int)(LOUXIAN)<<8));
        query.addBindValue(0x00000000);
        query.addBindValue(QString("%1号楼显").arg(node));

        bool bSuccess = query.exec();
        if (!bSuccess)
        {
            QSqlError lastError = query.lastError();
            qDebug() << lastError.driverText()
                     <<QString(QObject::tr("update louxian error"));
        }
    }
}
Example #2
0
/*!  \internal

  Virtual function which is called when an error has occurred The
  default implementation displays a warning message to the user with
  information about the error.

*/
void Q3DataManager::handleError(QWidget* parent, const QSqlError& e)
{
#ifndef QT_NO_MESSAGEBOX
    if (e.driverText().isEmpty() && e.databaseText().isEmpty()) {
        QMessageBox::warning (parent, QLatin1String("Warning"), QLatin1String("An error occurred while accessing the database"));
    } else {
        QMessageBox::warning (parent, QLatin1String("Warning"), e.driverText() + QLatin1Char('\n') + e.databaseText(),
                           0, 0);
    }
#endif // QT_NO_MESSAGEBOX
}
/*!  \internal

  Virtual function which is called when an error has occurred The
  default implementation displays a warning message to the user with
  information about the error.

*/
void QDataManager::handleError( QWidget* parent, const QSqlError& e )
{
#ifndef QT_NO_MESSAGEBOX
    if (e.driverText().isEmpty() && e.databaseText().isEmpty()) {
	QMessageBox::warning ( parent, "Warning", "An error occurred while accessing the database");
    } else {
	QMessageBox::warning ( parent, "Warning", e.driverText() + "\n" + e.databaseText(),
			   0, 0 );
    }
#endif // QT_NO_MESSAGEBOX
}
Example #4
0
int Loadable::upsertPkgItem(int &pkgitemid, const int pkgheadid,
                            const int itemid, QString &errMsg)
{
  if (pkgheadid < 0)
    return 0;

  QSqlQuery select;
  QSqlQuery upsert;

  if (pkgitemid >= 0)
    upsert.prepare("UPDATE pkgitem SET pkgitem_descrip=:descrip "
                   "WHERE (pkgitem_id=:id);");
  else
  {
    upsert.prepare("SELECT NEXTVAL('pkgitem_pkgitem_id_seq');");
    upsert.exec();
    if (upsert.first())
      pkgitemid = upsert.value(0).toInt();
    else if (upsert.lastError().type() != QSqlError::NoError)
    {
      QSqlError err = upsert.lastError();
      errMsg = _sqlerrtxt.arg(_name).arg(err.driverText()).arg(err.databaseText());
      return -20;
    }
    upsert.prepare("INSERT INTO pkgitem ("
                   "    pkgitem_id, pkgitem_pkghead_id, pkgitem_type,"
                   "    pkgitem_item_id, pkgitem_name, pkgitem_descrip"
                   ") VALUES ("
                   "    :id, :headid, :type,"
                   "    :itemid, :name, :descrip);");
  }

  upsert.bindValue(":id",      pkgitemid);
  upsert.bindValue(":headid",  pkgheadid);
  upsert.bindValue(":type",    _pkgitemtype);
  upsert.bindValue(":itemid",  itemid);
  upsert.bindValue(":name",    _name);
  upsert.bindValue(":descrip", _comment);

  if (!upsert.exec())
  {
    QSqlError err = upsert.lastError();
    errMsg = _sqlerrtxt.arg(_name).arg(err.driverText()).arg(err.databaseText());
    return -21;
  }

  return pkgitemid;
}
Example #5
0
std::vector< Profile > DatabaseFacade::getUsers()
{
    std::vector<Profile> profiles;

    if(!connected)
    {
        qDebug() << "Not connected to database";
        return profiles;
    }

    QSqlQuery query;
    query.exec("SELECT * FROM Gamers");

    QSqlError err = query.lastError();
    if(err.isValid())
        qDebug() << err.databaseText() << "\n" << err.driverText() << "\n" << err.nativeErrorCode();
    
    while (query.next())
    {
        int id = query.value(0).toInt();
        QString name = query.value(1).toString();

        QPixmap picture;
        picture.loadFromData(query.value(2).toByteArray());

        profiles.emplace_back(id, name, picture);
    }

    query.clear();

    return profiles;
}
Example #6
0
std::vector< Score > DatabaseFacade::getHightScores( const QString& gameName_, int limit_ )
{
    std::vector< Score > scores;

    if(!connected)
    {
        qDebug() << "Not connected to database";
        return scores;
    }

    QSqlQuery query;
    query.exec(queryGetHighScores.arg(gameName_));

    QSqlError err = query.lastError();
    if(err.isValid())
        qDebug() << err.databaseText() << "\n" << err.driverText() << "\n" << err.nativeErrorCode();

    while (query.next())
    {
        QString name = query.value(0).toString();

        QPixmap picture;
        picture.loadFromData(query.value(1).toByteArray());

        int score = query.value(2).toInt();

        scores.emplace_back(name, picture, score);
    }

    query.clear();

    return scores;
}
Example #7
0
void Database::login() throw (TimesheetProcessorException )
{
    MySqlStorage::Parameters parameters;
    try {
        parameters = MySqlStorage::parseParameterEnvironmentVariable();
    } catch( ParseError& e ) {
        throw TimesheetProcessorException( e.what() );
    }
    m_storage.configure( parameters );
    bool ok = m_storage.database().open();
    if ( !ok ) {
        QSqlError error = m_storage.database().lastError();

        QString msg = QObject::tr( "Cannot connect to database %1 on host %2, database said "
                                   "\"%3\", driver said \"%4\"" )
                .arg( parameters.database ) .arg( parameters.host )
                .arg( error.driverText() )
                .arg( error.databaseText() );
        throw TimesheetProcessorException( msg );
    }
    // check if the driver has transaction support
    if( ! m_storage.database().driver()->hasFeature( QSqlDriver::Transactions ) ) {
        QString msg = QObject::tr( "The database driver in use does not support transactions. Transactions are required." );
        throw TimesheetProcessorException( msg );
    }
}
Example #8
0
void Database::writeIobrInfo()
{
    QSqlDatabase::database().transaction();
    QSqlQuery query;
    query.prepare("INSERT INTO iobrinfo(id, iobrregist)"
                  "VALUES (?, ?)");
    for (int iobr = 1;iobr <= 34;iobr++)
    {
        query.addBindValue(iobr);
        query.addBindValue(false);

        //        if ( iobr == 1 )
        //        {
        //            query.addBindValue(true);
        //        }
        //        else
        //        {
        //            query.addBindValue(false);
        //        }

        bool bSuccess = query.exec();
        if (!bSuccess)
        {
            QSqlError lastError = query.lastError();
            qDebug() << lastError.driverText()
                     <<QString(QObject::tr("iobrinfo insert error"));
        }
    }
    QSqlDatabase::database().commit();
}
Example #9
0
QString toQSqlConnectionSub::ErrorString(const QSqlError &err, const QString &sql)
{
    QString ret;
    if (err.databaseText().isEmpty())
    {
        if (err.driverText().isEmpty())
            ret = QString::fromLatin1("Unknown error");
        else
            ret = err.driverText();
    }
    else
        ret = err.databaseText();
    if (!sql.isEmpty())
        ret += QString::fromLatin1("\n\n") + sql;
    return ret;
}
Example #10
0
void Database::writeOperationHis()
{

    QDateTime dt = QDateTime::currentDateTime();

    /*Before the opening of each transaction,adding this code to improve the speed*/
    QSqlDatabase::database().transaction();
    QSqlQuery query;
    query.prepare("INSERT INTO operationhis(id, time, str)"
                  "VALUES (?, ?, ?)");
    for (int i = 0;i<100; i++)
    {
        query.addBindValue(i);

        query.addBindValue(dt);
        query.addBindValue(QString("操作%1").arg(i));
        bool bSuccess = query.exec();
        if (!bSuccess)
        {
            QSqlError lastError = query.lastError();
            qDebug() << lastError.driverText()
                     <<QString(QObject::tr("insert operationhis error"));
        }
    }
    /*Close the transaction*/
    QSqlDatabase::database().commit();
}
Example #11
0
void Database::writeFireHis()
{
    int host = 1;
    int iobr = 1;
    int loop = 3;
    int node = 16;
    int infoid = (host<<24) | (iobr<<16) | (loop<<8) | node;
    int geo_addr = (host<<24) | (iobr<<16) | (loop<<8) | node;
    QDateTime dt = QDateTime::currentDateTime();

    /*Before the opening of each transaction,adding this code to improve the speed*/
    QSqlDatabase::database().transaction();
    QSqlQuery query;
    query.prepare("INSERT INTO firehis(id, type, infoid, geo_addr, time, str)"
                  "VALUES (?, ?, ?, ?, ?, ?)");
    for (int i = 0;i<100; i++)
    {
        query.addBindValue(i);
        query.addBindValue(0x000B4000);

        query.addBindValue(infoid);
        query.addBindValue(geo_addr);
        query.addBindValue(dt);
        query.addBindValue(QString("华中科技大学南一楼%1室").arg(i));
        bool bSuccess = query.exec();
        if (!bSuccess)
        {
            QSqlError lastError = query.lastError();
            qDebug() << lastError.driverText()
                     <<QString(QObject::tr("insert firehis error"));
        }
    }
    /*Close the transaction*/
    QSqlDatabase::database().commit();
}
Example #12
0
bool Application::notify(QObject * receiver, QEvent * e)
{
	try
	{
		return QApplication::notify(receiver, e);
	}
	catch (Exception & e)
	{
		qCritical() << e.title() << ':' << e.description();
		QMessageBox::critical(nullptr, e.title(), e.description());
	}
	catch (QSqlQuery & q)
	{
		QString s;
		QTextStream str(&s);
		QSqlError e = q.lastError();

		str << "Query: " << q.lastQuery() << '\n';
		str << "Driver text: " << e.driverText() << '\n';
		str << "Database text: " << e.databaseText() << '\n';
		str << "Native error code: " << e.nativeErrorCode();
		qCritical() << "Database error:" << s;
		QMessageBox::critical(nullptr, "Database error", s);
	}

	return false;
}
Example #13
0
void SQLiteDriver::setLastError(const QSqlError& e)
{
#if defined(SQLITEDRIVER_DEBUG)
    if (e.isValid())
        qDebug() << "SQLite error:" << e.driverText() << e.databaseText();
#endif
    QSqlDriver::setLastError(e);
}
Example #14
0
void checkMySQLError(QSqlQuery& q) {
    QSqlError e = q.lastError();
    if(!e.isValid())
        return;//no error
    qDebug()<<"got MySQL-Error"<<e.number()<<e.text()<<"/"<<e.databaseText()<<"/"<<e.driverText();
    qDebug()<<"on query"<<q.lastQuery();
    qDebug()<<"Terminating Application";
    QCoreApplication::quit();
}
Example #15
0
QT_BEGIN_NAMESPACE

#ifndef QT_NO_DEBUG_STREAM
QDebug operator<<(QDebug dbg, const QSqlError &s)
{
    dbg.nospace() << "QSqlError(" << s.number() << ", " << s.driverText() <<
                     ", " << s.databaseText() << ')';
    return dbg.space();
}
Example #16
0
QT_BEGIN_NAMESPACE

#ifndef QT_NO_DEBUG_STREAM
QDebug operator<<(QDebug dbg, const QSqlError &s)
{
    QDebugStateSaver saver(dbg);
    dbg.nospace();
    dbg << "QSqlError(" << s.nativeErrorCode() << ", " << s.driverText()
        << ", " << s.databaseText() << ')';
    return dbg;
}
Example #17
0
void DatabaseFacade::addUserStat( int userId, const QString& gameName_, int score_ )
{
    if(!connected)
    {
        qDebug() << "Not connected to database";
        return;
    }

    QSqlQuery query;
    QSqlQuery query2;

    qDebug() << "Executing query : \n\t" << queryGetGamerHighScore.arg(gameName_).arg(userId);
    query.exec(queryGetGamerHighScore.arg(gameName_).arg(userId));

    QSqlError err = query.lastError();
    if(err.isValid())
        qDebug() << err.databaseText() << "\n" << err.driverText() << "\n" << err.nativeErrorCode();

    if(query.next())
    {
        if(query.value(1).toInt() < score_)
        {
            qDebug() << "Executing query : \n\t" << queryUpdateHighScore.arg(score_).arg(query.value(0).toString()).arg(userId);
            query2.exec(queryUpdateHighScore.arg(score_).arg(query.value(0).toString()).arg(userId));

            err = query2.lastError();
            if(err.isValid())
                qDebug() << err.databaseText() << "\n" << err.driverText() << "\n" << err.nativeErrorCode();
        }
    }
    else
    {
        qDebug() << "Executing query : \n\t" << queryInsertHighScore.arg(userId).arg(gameName_).arg(score_);
        query2.exec(queryInsertHighScore.arg(userId).arg(gameName_).arg(score_));

        err = query2.lastError();
        if(err.isValid())
            qDebug() << err.databaseText() << "\n" << err.driverText() << "\n" << err.nativeErrorCode();
    }
}
Example #18
0
void Database::writeShieldHis()
{

    QSqlDatabase::database().transaction();
    QDateTime datetime = QDateTime::currentDateTime();
    QSqlQuery query;
    query.setForwardOnly(true);

    query.prepare("INSERT INTO shieldhis( time,unitid,type)"
                  "VALUES ( ?, ?,?)");

    query.addBindValue(datetime);
    query.addBindValue(0x01000000);
    query.addBindValue(0x00FFFF00);

    bool bSuccess = query.exec();
    if (!bSuccess)
    {
        QSqlError lastError = query.lastError();
        qDebug() << lastError.driverText()
                 <<QString(QObject::tr("in datebase : insert soundandalarmdevice into the shieldhis error"));
    }

//    QDateTime dt = QDateTime::currentDateTime();

//    /*Before the opening of each transaction,adding this code to improve the speed*/
//    QSqlDatabase::database().transaction();
//    QSqlQuery query;
//    query.prepare("INSERT INTO shieldhis( time,unitid,type)"
//                  "VALUES ( ?, ?,?)");

//    int host = 1;
//    int iobr = 1;
//    int loop = 1;


//    for (int i = 0;i<100; i++)
//    {
//        query.addBindValue(dt);
//        query.addBindValue((host<<24) | (iobr<<16) | (loop<<8) | (i+1));
//        query.addBindValue(0x000000FF);
//        bool bSuccess = query.exec();
//        if (!bSuccess)
//        {
//            QSqlError lastError = query.lastError();
//            qDebug() << lastError.driverText()
//                     <<QString(QObject::tr("insert shieldhis error"));
//        }
//    }
    /*Close the transaction*/
    QSqlDatabase::database().commit();
}
Example #19
0
QVariantMap ScriptQuery::lastError()
{
  QVariantMap m;
  QSqlError err = _query.lastError();
  m.insert("databaseText", err.databaseText());
  m.insert("driverText", err.driverText());
  m.insert("text", err.text());
  m.insert("number", err.number());
  m.insert("type", err.type());
  m.insert("isValid", QVariant(err.isValid(), 0));

  return m;
}
Example #20
0
QString MythDB::DBErrorMessage(const QSqlError& err)
{
    if (!err.type())
        return "No error type from QSqlError?  Strange...";

    return QString("Driver error was [%1/%2]:\n"
                   "%3\n"
                   "Database error was:\n"
                   "%4\n")
        .arg(err.type())
        .arg(err.number())
        .arg(err.driverText())
        .arg(err.databaseText());
}
Example #21
0
void DatabaseFacade::openConnexion()
{
    db.setHostName( DATABASE_IP );
    db.setDatabaseName( DATABASE_NAME );
    db.setUserName( DATABASE_USER );
    db.setPassword( DATABASE_PASS );

    connected = db.open();

    if(!connected)
    {
        qDebug() << "Connexion to database failed";
        QSqlError err = db.lastError();
        if(err.isValid())
            qDebug() << err.databaseText() << "\n" << err.driverText() << "\n" << err.nativeErrorCode();
    }

}
Example #22
0
QVariantMap XSqlQueryProto::lastError()
{
  QVariantMap m;

  XSqlQuery *item = qscriptvalue_cast<XSqlQuery*>(thisObject());
  if (item)
  {
    QSqlError err = item->lastError();
    m.insert("databaseText", err.databaseText());
    m.insert("driverText", err.driverText());
    m.insert("text", err.text());
    m.insert("number", err.number());
    m.insert("type", err.type());
    m.insert("isValid", QVariant(err.isValid()));
  }

  return m;
}
Example #23
0
int main(int argc, char* argv[]) {
#ifdef Q_WS_WIN
    WSADATA wsaData;
    if(WSAStartup(MAKEWORD(1, 1), &wsaData)) {
        qDebug("Error starting up Windows Socket system... libpq will not work.");
    }
#endif

    QApplication app(argc, argv);

    bool haveDB = FALSE;

    QSqlDatabase *db = QSqlDatabase::addDatabase("QPSQL7");
    if(db) {
        db->setDatabaseName("mfg");
        db->setUserName("cryan");
        db->setPassword("password");
        db->setHostName("192.168.2.100");
        if(db->open()) {
            haveDB = TRUE;
        } else {
            QSqlError err = db->lastError();
            qDebug("Driver:   %s", (const char*)err.driverText());
            qDebug("Database: %s", (const char*)err.databaseText());
            qDebug("Could not make connection to database: sql query will be disabled");
        }
    } else {
        qDebug("Could not load the database driver: sql query will be disabled");
    }

    GraphWindow * gw = new GraphWindow();
    gw->init(haveDB);

    app.setMainWidget(gw);
    gw->show();

    int ret = app.exec();

#ifdef Q_WS_WIN
    WSACleanup();
#endif

    return ret;
}
Example #24
0
int main(int argc, char* argv[]) {
#ifdef XQ_WS_WIN
    WSADATA wsaData;
    if(WSAStartup(MAKEWORD(1, 1), &wsaData)) {
        qDebug("Error starting up Windows Socket system... libpq will not work.");
    }
#endif

    QApplication app(argc, argv);

    bool haveDB = FALSE;

    QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
    if(db.isValid()) {
        db.setDatabaseName("test");
        db.setUserName("cryan");
        db.setPassword("password");
        db.setHostName("localhost");
        if(db.open()) {
            haveDB = TRUE;
        } else {
            QSqlError err = db.lastError();
            qDebug("Driver:   %s", err.driverText().toLatin1().data());
            qDebug("Database: %s", err.databaseText().toLatin1().data());
            qDebug("Could not make connection to database: sql query will be disabled");
        }
    } else {
        qDebug("Could not load the database driver: sql query will be disabled");
    }

    GraphWindow gw;
    gw.init(haveDB);
    gw.show();

    int ret = app.exec();

#ifdef XQ_WS_WIN
    WSACleanup();
#endif

    return ret;
}
Example #25
0
void boardRegThread::updateBoardRegFlagToDB(int boardnum)
{
    QSqlDatabase::database().transaction();
    QSqlQuery query;
    query.clear();

    query.prepare(QString("UPDATE iobrinfo SET "
                          "iobrregist=?"
                          "WHERE id = %1").arg(boardnum));
    qDebug()<<"UPDATE boardnum"<<boardnum<<"flag is "<<boardRegFlag[boardnum -1];
    query.addBindValue(boardRegFlag[boardnum - 1]);
    bool bSuccess = query.exec();
    if (!bSuccess)
    {
        QSqlError lastError = query.lastError();
        qDebug() << lastError.driverText()
                 << QString(QObject::tr("saveBoardRegFlagToDB update error"));
    }
    QSqlDatabase::database().commit();
}
Example #26
0
void Database::writePasswordInfo()
{
    QSqlDatabase::database().transaction();
    QSqlQuery query;
    query.prepare("INSERT INTO password(id, passwordinfo)"
                  "VALUES (?, ?)");
    for (int i = 1;i <= 2;i++)
    {
        query.addBindValue(i);
        query.addBindValue("000000");
        bool bSuccess = query.exec();
        if (!bSuccess)
        {
            QSqlError lastError = query.lastError();
            qDebug() << lastError.driverText()
                     <<QString(QObject::tr("password insert error"));
        }
    }
    QSqlDatabase::database().commit();
}
Example #27
0
void Database::writeBusSet()
{
    /*Before the opening of each transaction,adding this code to improve the speed*/
    QSqlDatabase::database().transaction();
    QSqlQuery query;
    query.prepare("INSERT INTO busset(id,"
                  "bus_num, bus_node,"
                  "inMode1, inMode2, inMode3, inMode4, inMode5,"
                  "inMode6, inMode7, inMode8, inMode9, inMode10,"
                  "inMode11, inMode12, inMode13, inMode14, inMode15,"
                  "outMode1, outMode2, outMode3, outMode4, outMode5,"
                  "outMode6, outMode7, outMode8, outMode9, outMode10,"
                  "outMode11, outMode12, outMode13, outMode14, outMode15)"
                  "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
    for (int bus_num = 1;bus_num <= 64;bus_num++)
    {
        for (int bus_node = 1;bus_node <= 64;bus_node++)
        {
            //            if((bus_num-1)*128 + bus_node != rowCount++)
            //                qDebug() << QObject::tr("false");
            query.bindValue(0, (bus_num-1)*64 + bus_node);
            query.bindValue(1, bus_num);
            query.bindValue(2, bus_node);
            for (int i = 0; i < 15; i++)
            {
                query.bindValue(i+3, 0);
            }
            for (int j = 0; j < 15; j++)
            {
                query.bindValue(j+18, 0);
            }
            bool bSuccess = query.exec();
            if (!bSuccess)
            {
                QSqlError lastError = query.lastError();
                qDebug() << lastError.driverText()
                         <<QString(QObject::tr("insert busset error"));
            }
        }
    }
}
Example #28
0
void Database::writeZongxianInfo()
{
    QSqlDatabase::database().transaction();
    QSqlQuery query;
    query.prepare("INSERT INTO zongxianinfo(id, zongxianregist)"
                  "VALUES (?, ?)");
    for (int zongxian = 1;zongxian <= 64;zongxian++)
    {
        query.addBindValue(zongxian);        
        query.addBindValue(false);//none  regist when initialize..

        bool bSuccess = query.exec();
        if (!bSuccess)
        {
            QSqlError lastError = query.lastError();
            qDebug() << lastError.driverText()
                     <<QString(QObject::tr("zongxianinfo insert error"));
        }
    }
    QSqlDatabase::database().commit();

}
Example #29
0
void Database::writeZhikongInfo()
{
    QSqlDatabase::database().transaction();
    QSqlQuery query;
    query.prepare("INSERT INTO zhikonginfo(id, zhikongregist)"
                  "VALUES (?, ?)");
    for (int zhikong = 1;zhikong <= 20;zhikong++)
    {
        query.addBindValue(zhikong);
        query.addBindValue(false);

        bool bSuccess = query.exec();
        if (!bSuccess)
        {
            QSqlError lastError = query.lastError();
            qDebug() << lastError.driverText()
                     <<QString(QObject::tr("zhikonginfo insert error"));
        }
    }
    QSqlDatabase::database().commit();

}
Example #30
0
void Database::writeHostInfo()
{
    /*Before the opening of each transaction,adding this code to improve the speed*/
    QSqlDatabase::database().transaction();
    QSqlQuery query;
    query.prepare("INSERT INTO hostset(id,hostnum, systemtype, lockkeytime,sound_alarm_state,gasfirecontrolstate)"
                  "VALUES (?, ?, ?,?,?,?)");

    query.addBindValue(1);
    query.addBindValue(1);
    query.addBindValue(0);
    query.addBindValue(0);
    query.addBindValue(0);
    query.addBindValue(0);
    bool bSuccess = query.exec();
    if (!bSuccess)
    {
        QSqlError lastError = query.lastError();
        qDebug() << lastError.driverText()
                 <<QString(QObject::tr("insert hostset error"));
    }
    /*Close the transaction*/
    QSqlDatabase::database().commit();
}