这篇教程C++ sql函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中sql函数的典型用法代码示例。如果您正苦于以下问题:C++ sql函数的具体用法?C++ sql怎么用?C++ sql使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了sql函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: connectionvoid QgsWFSSourceSelect::buildQuery( const QModelIndex &index ){ if ( !index.isValid() ) { return; } const QString typeName = index.sibling( index.row(), MODEL_IDX_NAME ).data().toString(); //get available fields for wfs layer QgsWfsConnection connection( cmbConnections->currentText() ); QgsWFSDataSourceURI uri( connection.uri().uri() ); uri.setTypeName( typeName ); QgsDataProvider::ProviderOptions providerOptions; QgsWFSProvider p( uri.uri(), providerOptions, mCaps ); if ( !p.isValid() ) { QMessageBox *box = new QMessageBox( QMessageBox::Critical, tr( "Server exception" ), tr( "DescribeFeatureType failed" ), QMessageBox::Ok, this ); box->setAttribute( Qt::WA_DeleteOnClose ); box->setModal( true ); box->setObjectName( QStringLiteral( "WFSFeatureTypeErrorBox" ) ); if ( !property( "hideDialogs" ).toBool() ) box->open(); return; } QModelIndex filterIndex = index.sibling( index.row(), MODEL_IDX_SQL ); QString sql( filterIndex.data().toString() ); QString displayedTypeName( typeName ); if ( !mCaps.setAmbiguousUnprefixedTypename.contains( QgsWFSUtils::removeNamespacePrefix( typeName ) ) ) displayedTypeName = QgsWFSUtils::removeNamespacePrefix( typeName ); QString allSql( "SELECT * FROM " + QgsSQLStatement::quotedIdentifierIfNeeded( displayedTypeName ) ); if ( sql.isEmpty() ) { sql = allSql; } QgsSQLComposerDialog *d = new QgsSQLComposerDialog( this ); QgsWFSValidatorCallback *validatorCbk = new QgsWFSValidatorCallback( d, uri, allSql, mCaps ); d->setSQLValidatorCallback( validatorCbk ); QgsWFSTableSelectedCallback *tableSelectedCbk = new QgsWFSTableSelectedCallback( d, uri, mCaps ); d->setTableSelectedCallback( tableSelectedCbk ); const bool bSupportJoins = mCaps.featureTypes.size() > 1 && mCaps.supportsJoins; d->setSupportMultipleTables( bSupportJoins, QgsSQLStatement::quotedIdentifierIfNeeded( displayedTypeName ) ); QMap< QString, QString > mapTypenameToTitle; Q_FOREACH ( const QgsWfsCapabilities::FeatureType f, mCaps.featureTypes ) mapTypenameToTitle[f.name] = f.title; QList< QgsSQLComposerDialog::PairNameTitle > tablenames; tablenames << QgsSQLComposerDialog::PairNameTitle( QgsSQLStatement::quotedIdentifierIfNeeded( displayedTypeName ), mapTypenameToTitle[typeName] ); if ( bSupportJoins ) { for ( int i = 0; i < mModel->rowCount(); i++ ) { const QString iterTypename = mModel->index( i, MODEL_IDX_NAME ).data().toString(); if ( iterTypename != typeName ) { QString displayedIterTypename( iterTypename ); QString unprefixedIterTypename( QgsWFSUtils::removeNamespacePrefix( iterTypename ) ); if ( !mCaps.setAmbiguousUnprefixedTypename.contains( unprefixedIterTypename ) ) displayedIterTypename = unprefixedIterTypename; tablenames << QgsSQLComposerDialog::PairNameTitle( QgsSQLStatement::quotedIdentifierIfNeeded( displayedIterTypename ), mapTypenameToTitle[iterTypename] ); } } } d->addTableNames( tablenames ); QList< QgsSQLComposerDialog::Function> functionList; Q_FOREACH ( const QgsWfsCapabilities::Function &f, mCaps.functionList ) { QgsSQLComposerDialog::Function dialogF; dialogF.name = f.name; dialogF.returnType = f.returnType; dialogF.minArgs = f.minArgs; dialogF.maxArgs = f.maxArgs; Q_FOREACH ( const QgsWfsCapabilities::Argument &arg, f.argumentList ) { dialogF.argumentList << QgsSQLComposerDialog::Argument( arg.name, arg.type ); } functionList << dialogF; } d->addFunctions( functionList ); QList< QgsSQLComposerDialog::Function> spatialPredicateList; Q_FOREACH ( const QgsWfsCapabilities::Function &f, mCaps.spatialPredicatesList ) { QgsSQLComposerDialog::Function dialogF; dialogF.name = f.name; dialogF.returnType = f.returnType; dialogF.minArgs = f.minArgs; dialogF.maxArgs = f.maxArgs;//.........这里部分代码省略.........
开发者ID:AlisterH,项目名称:Quantum-GIS,代码行数:101,
示例2: _pay_give_takestatic void_pay_give_take (player *pl, command_reader& reader, _m_action act){ if ( ((act == M_PAY) && !pl->has ("command.info.money.pay")) || ((act == M_TAKE || act == M_GIVE) && !pl->has ("command.info.money.give")) ) { pl->message ("§c * §7You are not allowed to do that§c."); return; } else if (reader.arg_count () != 3) { if (act == M_PAY) pl->message ("§c * §7Usage§c: §e/money pay §cplayer amount"); else if (act == M_GIVE) pl->message ("§c * §7Usage§c: §e/money give §cplayer amount"); else pl->message ("§c * §7Usage§c: §e/money take §cplayer amount"); return; } std::string target_name = reader.next (); double amount = reader.next ().as_float (); if (act == M_PAY) { if (sutils::iequals (target_name, pl->get_username ())) { pl->message ("§c * §7You cannot send yourself money§c."); return; } if (amount < 0.01) { pl->message ("§c * §7Invalid amount§c."); return; } else if (amount > pl->bal) { double left = amount - pl->bal; if (left < 10000000.0) pl->message ("§c * §7You are §c$" + utils::format_number (left, 2) + " §7short§c."); else pl->message ("§c * §7Not enough money§c."); return; } } else if (act == M_TAKE) { amount = -amount; if (amount >= 0.0) { pl->message ("§c * §7Invalid amount§c."); return; } } else if (amount <= 0.0) { pl->message ("§c * §7Invalid amount§c."); return; } std::string colored_target_name; // the easy way player *target = pl->get_server ().get_players ().find (target_name.c_str ()); if (target) { if (act == M_PAY) pl->bal -= amount; target->bal += amount; target_name.assign (target->get_username ()); colored_target_name.assign (target->get_colored_username ()); } else { // the hard way soci::session sql (pl->get_server ().sql_pool ()); try { if (!sqlops::player_exists (sql, target_name.c_str ())) { pl->message ("§c * §7No such player§f: §c" + target_name); return; } if (act == M_PAY) pl->bal -= amount; sqlops::add_money (sql, target_name.c_str (), amount); colored_target_name.assign (sqlops::player_colored_name (sql, target_name.c_str (), pl->get_server ())); target_name.assign (sqlops::player_name (sql, target_name.c_str ())); } catch (const std::exception& ex) { pl->message ("§4 * §cAn error has occurred§4."); return; } } std::ostringstream ss; if (act == M_PAY)//.........这里部分代码省略.........
开发者ID:projectapex,项目名称:hCraft,代码行数:101,
示例3: do_pay/* * /money - * * Displays the amount of money a player has. * * Permissions: * - command.info.money * Needed to execute the command. * - command.info.money.others * Required to display the amount of money _other_ players have. * - command.info.money.pay * Whether the player is allowed to send money out of their own account. * - command.info.money.give * Whether the player is allowed to give money to players _wihout_ * taking it out of their own account. * - command.info.money.set * Required to modify a player's balance directly. */voidc_money::execute (player *pl, command_reader& reader){ if (!pl->perm (this->get_exec_permission ())) return; if (!reader.parse (this, pl)) return; bool someone_else = false; std::string target_name; if (!reader.has_next ()) { target_name.assign (pl->get_username ()); } else { std::string& a = reader.next (); if (sutils::iequals (a, "pay")) { do_pay (pl, reader); return; } else if (sutils::iequals (a, "give")) { do_give (pl, reader); return; } else if (sutils::iequals (a, "take")) { do_take (pl, reader); return; } else if (sutils::iequals (a, "set")) { do_set (pl, reader); return; } else { target_name = a; someone_else = true; } } // // /money [player] // std::ostringstream ss; if (someone_else) { if (!pl->has ("command.info.money.others")) { pl->message ("§c * §7You are not allowed to do that§c."); return; } if (sutils::iequals (target_name, pl->get_username ())) ss << "§2Balance§8: §a$§f" << utils::format_number (pl->bal, 2); else { player *target = pl->get_server ().get_players ().find (target_name.c_str ()); if (target) ss << target->get_colored_username () << "§e's balance§f: §a$§f" << utils::format_number (target->bal, 2); else { soci::session sql (pl->get_server ().sql_pool ()); try { if (!sqlops::player_exists (sql, target_name.c_str ())) { pl->message ("§c * §7No such player§f: §c" + target_name); return; } ss << sqlops::player_colored_name (sql, target_name.c_str (), pl->get_server ()) << "§2's balance§f: §a$§f" << utils::format_number (sqlops::get_money (sql, target_name.c_str ()), 2); } catch (const std::exception& ex) { pl->message ("§4 * §cAn error has occurred§4.");//.........这里部分代码省略.........
开发者ID:projectapex,项目名称:hCraft,代码行数:101,
示例4: check_fileint check_file(const char* filepath){ const std::string filename = mooon::utils::CStringUtils::extract_filename(filepath); if (!mooon::db_proxy::is_sql_log_filename(filename)) { fprintf(stderr, "[NOTSQLLOG] %s/n", filepath); return 1; } int fd = open(filepath, O_RDONLY); if (-1 == fd) { fprintf(stderr, "open %s failed: %m/n", filepath); return 1; } mooon::sys::CloseHelper<int> close_helper(fd); while (true) { int32_t length = 0; int bytes = read(fd, &length, sizeof(length)); if (0 == bytes) { fprintf(stdout, "[NOTEND] %s/n", filepath); if (1 == mooon::argument::add_endtag->value()) { if (write_endtag(filepath)) { fprintf(stdout, "add endtag ok: %s/n", filepath); } else { fprintf(stderr, "[%s]: add endtag failed: %m/n", filepath); } } break; } if (bytes != sizeof(length)) { fprintf(stderr, "read %s length error: %d/n", filepath, bytes); return 1; } if (0 == length) { fprintf(stdout, "[END] %s/n", filepath); break; } else { std::string sql(length, '/0'); bytes = read(fd, const_cast<char*>(sql.data()), length); if (0 == bytes) { fprintf(stderr, "[BAD] %s/n", filepath); return 1; } ++sg_lines; } } return 0;}
开发者ID:eyjian,项目名称:mooon,代码行数:64,
示例5: sqlbool CPfStadiumsDAOSQLiteEntity::deleteReg(CPfStadiums *reg){ std::string sql("DELETE FROM PF_STADIUMS WHERE X_STADIUM="); sql += "'"+reg->getXStadium_str()+"'"; return exec(sql);}
开发者ID:dividio,项目名称:projectfootball,代码行数:6,
示例6: ifbool QgsWFSSharedData::computeFilter( QString& errorMsg ){ errorMsg.clear(); mWFSFilter.clear(); mSortBy.clear(); QgsOgcUtils::GMLVersion gmlVersion; QgsOgcUtils::FilterVersion filterVersion; bool honourAxisOrientation = false; if ( mWFSVersion.startsWith( "1.0" ) ) { gmlVersion = QgsOgcUtils::GML_2_1_2; filterVersion = QgsOgcUtils::FILTER_OGC_1_0; } else if ( mWFSVersion.startsWith( "1.1" ) ) { honourAxisOrientation = !mURI.ignoreAxisOrientation(); gmlVersion = QgsOgcUtils::GML_3_1_0; filterVersion = QgsOgcUtils::FILTER_OGC_1_1; } else { honourAxisOrientation = !mURI.ignoreAxisOrientation(); gmlVersion = QgsOgcUtils::GML_3_2_1; filterVersion = QgsOgcUtils::FILTER_FES_2_0; } if ( !mURI.sql().isEmpty() ) { QgsSQLStatement sql( mURI.sql() ); const QgsSQLStatement::NodeSelect* select = dynamic_cast<const QgsSQLStatement::NodeSelect*>( sql.rootNode() ); Q_ASSERT( select ); QList<QgsSQLStatement::NodeColumnSorted*> orderBy = select->orderBy(); Q_FOREACH ( QgsSQLStatement::NodeColumnSorted* columnSorted, orderBy ) { if ( !mSortBy.isEmpty() ) mSortBy += ","; mSortBy += columnSorted->column()->name(); if ( !columnSorted->ascending() ) { if ( mWFSVersion.startsWith( "2.0" ) ) mSortBy += " DESC"; else mSortBy += " D"; } } QDomDocument filterDoc; QDomElement filterElem = QgsOgcUtils::SQLStatementToOgcFilter( sql, filterDoc, gmlVersion, filterVersion, mLayerPropertiesList, honourAxisOrientation, mURI.invertAxisOrientation(), mCaps.mapUnprefixedTypenameToPrefixedTypename, &errorMsg ); if ( !errorMsg.isEmpty() ) { errorMsg = tr( "SQL statement to OGC Filter error: " ) + errorMsg; return false; } if ( !filterElem.isNull() ) { filterDoc.appendChild( filterElem ); mWFSFilter = filterDoc.toString(); } }
开发者ID:danylaksono,项目名称:QGIS,代码行数:65,
示例7: sqlstd::vector<CPfSeasons*>* CPfSeasonsDAOSQLite::findAll(){ std::string sql("SELECT * FROM PF_SEASONS ORDER BY N_YEAR ASC"); return loadVector(sql);}
开发者ID:dividio,项目名称:projectfootball,代码行数:5,
示例8: querybool LogBook::createDatabaseStructures(){ bool result = true; QSqlDatabase db = QSqlDatabase::database("LogBook"); // See if the tables alreadt exist. QStringList tableList = db.tables(); bool systemTableExists = tableList.contains("logbook_system"); // Get the last record, if it exists QSqlQuery query(db); if (!systemTableExists || query.exec("SELECT last_script_run FROM logbook_system")) { int lastFile = 0; if (systemTableExists) { while (query.next()) { lastFile = query.value(0).toInt(); } } QString path = ":/logbook/"; QDir dir(path); QStringList entries = dir.entryList(QDir::Files, QDir::Name); QListIterator<QString> entriesIterator(entries); QSqlQuery updateQuery(db); updateQuery.prepare("UPDATE logbook_system SET last_script_run = :new WHERE last_script_run = :old"); while (entriesIterator.hasNext() && result) { QString fileName = entriesIterator.next(); int currentFile = fileName.section(".", 0, 0).toInt(); if (fileName.endsWith("sql") && currentFile > lastFile) { if (!processSqlFile(QString(path).append(fileName))) { result = false; } else { //If this is the first file, it MUST create logbook_system if (!systemTableExists) { if(query.exec("SELECT last_script_run FROM logbook_system")){ if(query.exec("INSERT INTO logbook_system (last_script_run) VALUES (0)")) { systemTableExists = true; } else { result = false; qDebug() << "LogBook: Error updateing system table 1. Error is: " << query.lastError(); } } else { result = false; qDebug() << "LogBook: Error reading system table 1. Error is: " << query.lastError(); } } // update the record updateQuery.bindValue(":new", currentFile); updateQuery.bindValue(":old", lastFile); QString sql("UPDATE logbook_system SET last_script_run = "); sql.append(QVariant(currentFile).toString()).append(" WHERE last_script_run = ").append(QVariant(lastFile).toString()); if (query.exec(sql)) { lastFile = currentFile; } else { result = false; qDebug() << "LogBook: Error updateing system table; bind values are (" << updateQuery.boundValues() << "). /n/tError is: " << query.lastError() << "/n/tThe query was: " << query.lastQuery() ; } } } } } else { result = false; qDebug() << "LogBook: Error reading system table 2. Error is: " << query.lastError(); } return result;}
开发者ID:NGCyang,项目名称:stellarium,代码行数:72,
注:本文中的sql函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ sqlDisconnect函数代码示例 C++ sqinfo_has函数代码示例 |