这篇教程C++ sql_query函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中sql_query函数的典型用法代码示例。如果您正苦于以下问题:C++ sql_query函数的具体用法?C++ sql_query怎么用?C++ sql_query使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了sql_query函数的21个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: SQLI_cache_purgevoid SQLI_cache_purge(struct db_cache *queue[], int index, struct insert_data *idata){ struct db_cache *LastElemCommitted = NULL; time_t start; int j, stop, ret; for (j = 0, stop = 0; (!stop) && preprocess_funcs[j]; j++) stop = preprocess_funcs[j](queue, &index, j); if (config.what_to_count & COUNT_CLASS) sql_invalidate_shadow_entries(queue, &index); idata->ten = index; if (config.debug) { Log(LOG_DEBUG, "( %s/%s ) *** Purging cache - START ***/n", config.name, config.type); start = time(NULL); } /* We check for variable substitution in SQL table */ if (idata->dyn_table) { char tmpbuf[LONGLONGSRVBUFLEN]; time_t stamp = idata->new_basetime ? idata->new_basetime : idata->basetime; strftime_same(insert_clause, LONGSRVBUFLEN, tmpbuf, &stamp); strftime_same(update_clause, LONGSRVBUFLEN, tmpbuf, &stamp); strftime_same(lock_clause, LONGSRVBUFLEN, tmpbuf, &stamp); if (config.sql_table_schema) sql_create_table(bed.p, &stamp); } // strncat(update_clause, set_clause, SPACELEFT(update_clause)); (*sqlfunc_cbr.lock)(bed.p); for (idata->current_queue_elem = 0; idata->current_queue_elem < index; idata->current_queue_elem++) { if (queue[idata->current_queue_elem]->valid) sql_query(&bed, queue[idata->current_queue_elem], idata); if (queue[idata->current_queue_elem]->valid == SQL_CACHE_COMMITTED) LastElemCommitted = queue[idata->current_queue_elem]; } /* multi-value INSERT query: wrap-up */ if (idata->mv.buffer_elem_num) { idata->mv.last_queue_elem = TRUE; sql_query(&bed, LastElemCommitted, idata); } /* rewinding stuff */ (*sqlfunc_cbr.unlock)(&bed); if (b.fail) Log(LOG_ALERT, "ALERT ( %s/%s ): recovery for SQLite3 daemon failed./n", config.name, config.type); if (config.debug) { idata->elap_time = time(NULL)-start; Log(LOG_DEBUG, "( %s/%s ) *** Purging cache - END (QN: %u, ET: %u) ***/n", config.name, config.type, idata->qn, idata->elap_time); } if (config.sql_trigger_exec) { if (!config.debug) idata->elap_time = time(NULL)-start; SQL_SetENV_child(idata); }}
开发者ID:NeilW,项目名称:pmacct,代码行数:60,
示例2: ev_bs_new_server/* this is called when a new server is introduced,we just care for the first server when services connect to the hub so that we create the bots and join them to their channels*/void ev_bs_new_server(IRC_Server* nserver, IRC_Server *from){ static int already_loaded = 0; MYSQL_RES *res; MYSQL_ROW row; if (already_loaded) return; res = sql_query("SELECT nick,username,publichost,realname,bid FROM botserv"); while((row = sql_next_row(res))) { MYSQL_RES *res_chan; MYSQL_ROW row_chan; IRC_User *user; u_int32_t bid = atoi(row[4]); user = irc_CreateLocalUser(row[0], row[1], row[2], row[2], row[3], "+r"); mod_do_event(e_bot_introduce, &bid, NULL); irc_AddUMsgEvent(user, "/1PING", bs_ctcp_ping); /* CTCP PING reply */ res_chan = sql_query("SELECT c.name FROM chanserv c, botserv_chans bc " "WHERE bc.bid=%d AND c.scid=bc.scid", bid); while((row_chan = sql_next_row(res_chan))) { IRC_Chan *chan = irc_ChanJoin(user, row_chan[0], 0); irc_ChanMode(bsu.u, chan, "+ao %s %s", user->nick, user->nick); } sql_free(res_chan); } sql_free(res); already_loaded = -1;}
开发者ID:diegoagudo,项目名称:taps-services,代码行数:38,
示例3: switchint ADAK_SQL::LOCK_ROW (const QString id_column_name,const QString table_name, const QString where_info){ switch (p_db_driver) { case SQLITE : return ADAK_OK; case PSQL : { SQL_QUERY sql_query ( this ); sql_query.PREPARE_SELECT ( QString ("SELECT pg_try_advisory_lock("+id_column_name+") FROM " + table_name + " WHERE " + where_info)); if(sql_query.SELECT() EQ 0 ) { return ADAK_FAIL; } sql_query.NEXT(); if ( sql_query.VALUE(0).toBool() EQ false ) { return ADAK_FAIL; } return ADAK_OK; } case MYSQL : { SQL_QUERY sql_query ( this ); sql_query.PREPARE_SELECT ( QString ("SELECT GET_LOCK(/""+table_name + "." + where_info+"/",2)")); if(sql_query.SELECT() EQ 0) { return ADAK_FAIL; } sql_query.NEXT(); if ( sql_query.VALUE(0).toInt() EQ 0 ) { return ADAK_FAIL; } return ADAK_OK; } case MSSQL : { // donen deger >= 0 sa locklanmistir aksi takdirde lock olmamistir. SQL_QUERY sql_query ( this ); sql_query.PREPARE_SELECT ( QString("sp_getapplock @Resource = '%1', @LockMode = 'Exclusive',@LockTimeout = 0,@LockOwner = 'Session'").arg(QString ("LOCK(/""+table_name + "." + where_info+"/",2)")) ); if(sql_query.SELECT() EQ 0) { return ADAK_FAIL; } sql_query.NEXT(); QString sql_query_value = sql_query.VALUE(0).toString(); if ( sql_query.VALUE(0).toInt() EQ 0 ) { return ADAK_FAIL; } return ADAK_OK; } default : return ADAK_OK; break; } return true;}
开发者ID:adakteknoloji,项目名称:FRAMEWORK,代码行数:55,
示例4: db_begin_transactionCharacter *load_player_by_id(Connection *conn, identifier_t charId){ char buf[400]; sql_stmt *stmt; db_begin_transaction(); int len = sprintf(buf, "select * from character join player on playerId=characterId where characterId=%" PRId64, charId); if (sql_query(buf, len, &stmt) != SQL_OK) { log_data("could not prepare sql statement"); return 0; } Character *ch = new_char(); ch->pc = new_player(conn); if (sql_step(stmt) != SQL_DONE) { load_player_columns(conn->account, ch, stmt); } if (sql_finalize(stmt) != SQL_OK) { log_data("unable to finalize statement"); } load_char_objs(ch); load_char_affects(ch); db_end_transaction(); return ch;}
开发者ID:ryjen,项目名称:muddled,代码行数:33,
示例5: InsertDB/* * Utility routine to do inserts * Returns: false on failure * true on success */bool InsertDB(const char *file, int line, JCR *jcr, B_DB *mdb, char *cmd){ int num_rows; if (!sql_query(mdb, cmd)) { m_msg(file, line, &mdb->errmsg, _("insert %s failed:/n%s/n"), cmd, sql_strerror(mdb)); j_msg(file, line, jcr, M_FATAL, 0, "%s", mdb->errmsg); if (verbose) { j_msg(file, line, jcr, M_INFO, 0, "%s/n", cmd); } return false; } num_rows = sql_affected_rows(mdb); if (num_rows != 1) { char ed1[30]; m_msg(file, line, &mdb->errmsg, _("Insertion problem: affected_rows=%s/n"), edit_uint64(num_rows, ed1)); if (verbose) { j_msg(file, line, jcr, M_INFO, 0, "%s/n", cmd); } return false; } mdb->changes++; return true;}
开发者ID:debfx,项目名称:bareos,代码行数:30,
示例6: sql_queryvoid DMR_DEMIRBAS_KARTI::DELETE_RECORD ( int record_id ){ SQL_QUERY sql_query ( DB ); sql_query.PREPARE_SELECT ( "dmr_demirbaslar","demirbas_kodu , demirbas_adi,fatura_id", "demirbas_id = :demirbas_id"); sql_query.SET_VALUE ( ":demirbas_id" , record_id ); if ( sql_query.SELECT() EQ 0 ) { return; } sql_query.NEXT(); QString demirbas_kodu = sql_query.VALUE(0).toString(); QString demirbas_adi = sql_query.VALUE(1).toString(); int fatura_id = sql_query.VALUE(2).toInt(); if ( fatura_id > 0 ) { DMR_ENTEGRASYON_FISI_OLUSTUR(fatura_id , 0); } SQL_QUERY delete_query ( DB ); delete_query.PREPARE_DELETE ( "dmr_demirbaslar","demirbas_id = :demirbas_id" ); delete_query.SET_VALUE ( ":demirbas_id" , record_id ); delete_query.DELETE(); GRP_KAYDIN_GRUPLARINI_SIL(E9_PROGRAMI,DEMIRBAS_GRUP_MODULU,record_id); QString log_detaylari = QObject::tr ( "Demirba C++ sqlite3ApiExit函数代码示例 C++ sql_exec函数代码示例
|