• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ dbquery函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中dbquery函数的典型用法代码示例。如果您正苦于以下问题:C++ dbquery函数的具体用法?C++ dbquery怎么用?C++ dbquery使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了dbquery函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: dbfield_isnull

static int
dbfield_isnull( Dbptr db )
{
	char	*fnull = NULL;
	long	fsize;
	char	*stringval = NULL;
	int	isnull = 0;

	dbquery( db, dbFIELD_SIZE, &fsize );
	dbquery( db, dbNULL, &fnull );

	allot( char *, stringval, fsize + 2 );

	dbget( db, stringval );

	strtrim( stringval );

	if( ! strcmp( stringval, fnull ) ) {

		isnull = 1;

	} else {

		isnull = 0;
	}

	free( stringval );

	return isnull;
}
开发者ID:ittaikurzon,项目名称:antelope_contrib,代码行数:30,代码来源:db2sql.c


示例2: malloc

profesor *consultar_docente(long docente_id) {
    profesor *p = NULL;
    char sql[512];
    int num = 0;
    PGconn *conexion = NULL;
    PGresult *resultado = NULL;

    if (docente_id > 0) {
        p = (profesor *) malloc(sizeof (profesor));
        p->docente_id = docente_id;
        p->aprobacion = 0.0;
        p->promedio = 0.0;
        p->reprobacion = 0.0;
        p->stddev = 0.0;

        // Busco Reprobados
        memset(sql, 0, sizeof (sql));
        sprintf(sql, "SELECT AVG(asignaturas_cursadas.nota) FROM cursos INNER JOIN asignaturas_cursadas ON cursos.curso_id=asignaturas_cursadas.curso_id WHERE cursos.docente_id = '%ld' AND asignaturas_cursadas.nota < 4 GROUP BY cursos.docente_id", docente_id);
        conexion = dbconnect(SERVIDOR, PUERTO, NOMBREDB, USUARIODB, PASSDB);
        if (conexion != NULL) {
            resultado = dbquery(conexion, sql);
            num = dbnumrows(resultado);
            if (num > 0) {
                p->reprobacion = getDouble(dbresult(resultado, 0, 0));
                dbfree(resultado);
            }
            dbclose(conexion);
        }

        // Busco Aprobados
        memset(sql, 0, sizeof (sql));
        sprintf(sql, "SELECT AVG(asignaturas_cursadas.nota) FROM cursos INNER JOIN asignaturas_cursadas ON cursos.curso_id=asignaturas_cursadas.curso_id WHERE cursos.docente_id = '%ld' AND asignaturas_cursadas.nota >= 4 GROUP BY cursos.docente_id", docente_id);
        conexion = dbconnect(SERVIDOR, PUERTO, NOMBREDB, USUARIODB, PASSDB);
        if (conexion != NULL) {
            resultado = dbquery(conexion, sql);
            num = dbnumrows(resultado);
            if (num > 0) {
                p->aprobacion = getDouble(dbresult(resultado, 0, 0));
                dbfree(resultado);
            }
            dbclose(conexion);
        }

        // Busco Promedio
        memset(sql, 0, sizeof (sql));
        sprintf(sql, "SELECT AVG(asignaturas_cursadas.nota) AS promedio, STDDEV(asignaturas_cursadas.nota) FROM cursos INNER JOIN asignaturas_cursadas ON cursos.curso_id=asignaturas_cursadas.curso_id WHERE cursos.docente_id = '%ld' GROUP BY cursos.docente_id ORDER BY promedio DESC", docente_id);
        conexion = dbconnect(SERVIDOR, PUERTO, NOMBREDB, USUARIODB, PASSDB);
        if (conexion != NULL) {
            resultado = dbquery(conexion, sql);
            num = dbnumrows(resultado);
            if (num > 0) {
                p->promedio = getDouble(dbresult(resultado, 0, 0));
                p->stddev = getDouble(dbresult(resultado, 0, 1));
                dbfree(resultado);
            }
            dbclose(conexion);
        }
    }
    return p;
}
开发者ID:sebasalazar,项目名称:C,代码行数:60,代码来源:tareas.c


示例3: table_init

/* creates tables with proper schema */
int table_init(MYSQL *dbase)
{
  int r;

  /* drop tables gen, std and penta */
  printf("Table init\n");
  dbquery(dbase, "drop table gen");
  dbquery(dbase, "drop table penta");
  dbquery(dbase, "drop table std");

  /* create with proper schema */
  r = dbquery(dbase, "create table gen (color int, x bigint, "
	      "t1 text, t2 text, t3 text, t4 text, t5 text)");
  if (r < 0) return r;

  r = dbquery(dbase, "create table std (color int, x bigint, y bigint, "
	      "t1 text, t2 text, t3 text, t4 text, t5 text)");
  if (r < 0) return r;

  r = dbquery(dbase, "create table penta (color int, x5 bigint, x bigint, "
	      "t1 text, t2 text, t3 text, t4 text, t5 text)");
  return r;

#ifdef FALSE
  /* create proper indices */
  r = dbquery(dbase, "create index genidx on gen (x)");
  if (r < 0) return r;

  r = dbquery(dbase, "create index genidx on std (x, y)");
  if (r < 0) return r;

  r = dbquery(dbase, "create index genidx on penta (x, x5)");
  if (r < 0) return r;
#endif
}
开发者ID:AshKash,项目名称:kit-sink,代码行数:36,代码来源:colorsql.c


示例4: csdb_flushchannelcounters

void csdb_flushchannelcounters(void *arg) {
  int i;

  if(!channelcounter_count)
    return;

  dbquery("BEGIN TRANSACTION;");

  for(i=0;i<channelcounter_count;i++)
    dbquery("%s", channelcounter_bufs[i]);

  dbquery("COMMIT;");

  channelcounter_count = 0;
}
开发者ID:quakenet,项目名称:newserv,代码行数:15,代码来源:chanservdb_updates.c


示例5: getVentasMensuales

ventas_mensuales* getVentasMensuales(char* tienda, int* cantidades_ventas) {
    ventas_mensuales* ventas = NULL;
    int i = 0;
    int num = 0;
    PGconn *conexion = NULL;
    PGresult *resultado = NULL;
    char sql[513];

    if (tienda != NULL) {
        conexion = dbconnect(SERVIDOR, PUERTO, NOMBREDB, USUARIODB, PASSDB);
        if (conexion != NULL) {
            memset(sql, 0, sizeof (sql));
            snprintf(sql, 512, "SELECT tienda, EXTRACT(month FROM fecha) AS mes,SUM(monto) AS total FROM ventas WHERE tienda = '%s' GROUP BY tienda, mes ORDER BY mes", tienda);
            resultado = dbquery(conexion, sql);
            num = dbnumrows(resultado);
            if (num > 0) {
                ventas = (ventas_mensuales *) malloc(num * sizeof (ventas_mensuales));
                for (i = 0; i < num; i++) {
                    ventas[i].tienda = getString(dbresult(resultado, i, 0));
                    ventas[i].mes = getInt(dbresult(resultado, i, 1));
                    ventas[i].monto = getLong(dbresult(resultado, i, 2));
                }
                dbfree(resultado);
            }
            dbclose(conexion);
        }
    }
    *cantidades_ventas = num;

    return ventas;
}
开发者ID:sebasalazar,项目名称:C,代码行数:31,代码来源:tareas.c


示例6: memset

ranking_profesor *ranking_docentes(int semestre, int anio, long *tamano) {
    ranking_profesor *ranking = NULL;
    char sql[512];
    int i = 0;
    int num = 0;
    PGconn *conexion = NULL;
    PGresult *resultado = NULL;

    if (semestre > 0 && anio > 0) {
        memset(sql, 0, sizeof (sql));
        sprintf(sql, "SELECT cursos.docente_id, AVG(asignaturas_cursadas.nota) AS promedio, STDDEV(asignaturas_cursadas.nota) FROM cursos INNER JOIN asignaturas_cursadas ON cursos.curso_id=asignaturas_cursadas.curso_id WHERE cursos.semestre='%d' AND cursos.anio='%d' GROUP BY cursos.docente_id ORDER BY promedio DESC", semestre, anio);
        conexion = dbconnect(SERVIDOR, PUERTO, NOMBREDB, USUARIODB, PASSDB);
        if (conexion != NULL) {
            resultado = dbquery(conexion, sql);
            num = dbnumrows(resultado);
            if (num > 0) {
                ranking = (ranking_profesor *) malloc(num * sizeof (ranking_profesor));
                for (i = 0; i < num; i++) {
                    ranking[i].lugar = i + 1;
                    ranking[i].docente_id = getLong(dbresult(resultado, i, 0));
                    ranking[i].nota = getDouble(dbresult(resultado, i, 1));
                    ranking[i].stddev = getDouble(dbresult(resultado, i, 2));
                    ranking[i].semestre = semestre;
                    ranking[i].anio = anio;
                }
                dbfree(resultado);
            }
            dbclose(conexion);
        }
    }
    *tamano = num;

    return ranking;
}
开发者ID:sebasalazar,项目名称:C,代码行数:34,代码来源:tareas.c


示例7: csdb_accounthistory_insert

void csdb_accounthistory_insert(nick *np, char *oldpass, char *newpass, char *oldemail, char *newemail) {
  reguser *rup=getreguserfromnick(np);
  char escoldpass[PASSLEN*2+5];
  char escnewpass[PASSLEN*2+5];
  char escoldemail[EMAILLEN*2+5];
  char escnewemail[EMAILLEN*2+5];

  if (!rup || UHasOperPriv(rup))
    return;

  if (oldpass)
    dbescapestring(escoldpass, oldpass, CSMIN(strlen(oldpass), PASSLEN));
  else
    escoldpass[0]='\0';

  if (newpass)
    dbescapestring(escnewpass, newpass, CSMIN(strlen(newpass), PASSLEN));
  else
    escnewpass[0]='\0';

  if (oldemail)
    dbescapestring(escoldemail, oldemail, CSMIN(strlen(oldemail), EMAILLEN));
  else
    escoldemail[0]='\0';
  if (newemail)
    dbescapestring(escnewemail, newemail, CSMIN(strlen(newemail), EMAILLEN));
  else
    escnewemail[0]='\0';

  dbquery("INSERT INTO chanserv.accounthistory (userID, changetime, authtime, oldpassword, newpassword, oldemail, "
    "newemail) VALUES (%u, %lu, %lu, '%s', '%s', '%s', '%s')", rup->ID, getnettime(), np->accountts, escoldpass, escnewpass,
    escoldemail, escnewemail);
}
开发者ID:quakenet,项目名称:newserv,代码行数:33,代码来源:chanservdb_updates.c


示例8: getVentasHorarias

ventas_horarias* getVentasHorarias(int* cantidades_ventas) {
    ventas_horarias* ventas = NULL;
    int i = 0;
    int num = 0;
    PGconn *conexion = NULL;
    PGresult *resultado = NULL;

    conexion = dbconnect(SERVIDOR, PUERTO, NOMBREDB, USUARIODB, PASSDB);
    if (conexion != NULL) {
        resultado = dbquery(conexion, "SELECT DISTINCT ON (tienda) tienda, EXTRACT(hour FROM fecha) AS hora,SUM(monto) AS total FROM ventas GROUP BY tienda, hora ORDER BY tienda, SUM(monto) DESC");
        num = dbnumrows(resultado);
        if (num > 0) {
            ventas = (ventas_horarias *) malloc(num * sizeof (ventas_horarias));
            for (i = 0; i < num; i++) {
                ventas[i].tienda = getString(dbresult(resultado, i, 0));
                ventas[i].hora = getInt(dbresult(resultado, i, 1));
                ventas[i].monto = getLong(dbresult(resultado, i, 2));
            }
            dbfree(resultado);
        }
        dbclose(conexion);
    }

    *cantidades_ventas = num;

    return ventas;
}
开发者ID:sebasalazar,项目名称:C,代码行数:27,代码来源:tareas.c


示例9: dbschema2sqlcreate

Tbl *
dbschema2sqlcreate( Dbptr db, long flags )
{
	Tbl	*sql;
	char	*cmd;
	Tbl	*tables;
	char	*table;
	long	itable;

	sql = newtbl( 0 );

	if( db.table >= 0 ) {
		
		cmd = generate_sqltable_create( db, flags );

		pushtbl( sql, cmd );

	} else {

		dbquery( db, dbSCHEMA_TABLES, &tables );

		for( itable = 0; itable < maxtbl( tables ); itable++ ) {

			table = gettbl( tables, itable );

			db = dblookup( db, "", table, "", "" );
			
			cmd = generate_sqltable_create( db, flags );

			pushtbl( sql, cmd );
		}
	}

	return sql;
}
开发者ID:ittaikurzon,项目名称:antelope_contrib,代码行数:35,代码来源:db2sql.c


示例10: db2sqldelete

int
db2sqldelete( Dbptr db, char *sync, Tbl **tbl, long flags )
{
	void	*stk = 0;
	char	*table;
	char	*cmd;

	if( *tbl == (Tbl *) NULL ) {
		
		*tbl = newtbl( 0 );
	}

	dbquery( db, dbTABLE_NAME, &table );

	pushstr( &stk, "DELETE from `" );
	pushstr( &stk, table );

	pushstr( &stk, "` WHERE " );

	pushstr( &stk, "  `" );
	pushstr( &stk, Db2sql_syncfield_name );
	pushstr( &stk, "` = '" );
	pushstr( &stk, sync );
	pushstr( &stk, "'" );
	pushstr( &stk, ";\n" );

	cmd = popstr( &stk, 1 );

	pushtbl( *tbl, cmd );

	return 1;
}
开发者ID:ittaikurzon,项目名称:antelope_contrib,代码行数:32,代码来源:db2sql.c


示例11: csdb_updateauthinfo

void csdb_updateauthinfo(reguser *rup) {
  char eschost[2*HOSTLEN+1];

  dbescapestring(eschost,rup->lastuserhost->content,rup->lastuserhost->length);
  dbquery("UPDATE chanserv.users SET lastauth=%lu,lastuserhost='%s' WHERE ID=%u",
		  rup->lastauth,eschost,rup->ID);
}
开发者ID:quakenet,项目名称:newserv,代码行数:7,代码来源:chanservdb_updates.c


示例12: opendb

int opendb( Dset *dset )
{
 
   char key[256];
   Tbl *sort_sta_ch_tm;
 
   if (dbopen_database ( dset->dbname, "r+", &(dset->db) ) == dbINVALID )
         die (0, "Can't open database %s\n",  dset->dbname );
 
    dset->db = dblookup ( dset->db, 0, "wfdisc", 0, 0);
    if ( dset->db.table == dbINVALID )
       die (0, "Can't open '%s' wfdisc table.\n", dset->dbname );
 
    /* Select specified sta&chan */
 
    sprintf( key,"(chan =~ /%s/ && sta=~ /%s/)\0", dset->chan, dset->sta );
    dset->db = dbsubset(  dset->db, key, 0 );
    sort_sta_ch_tm = strtbl("sta", "chan", "time", 0 ) ;
    dset->db = dbsort ( dset->db, sort_sta_ch_tm, 0, 0 ) ;
 
    dbquery ( dset->db, dbRECORD_COUNT, &(dset->dbrec) );
    if( dset->dbrec <= 0 )
       die( 0, " no record with sta == %s and chan == %s in %s.\n", 
                 dset->sta, dset->chan, dset->dbname );
 
 
    return 1;
 
}  
开发者ID:battistuz,项目名称:antelope_contrib,代码行数:29,代码来源:util.c


示例13: getVentasAnuales

ventas_anuales* getVentasAnuales(int* cantidades_ventas) {
    ventas_anuales* ventas = NULL;
    int i = 0;
    int num = 0;
    PGconn *conexion = NULL;
    PGresult *resultado = NULL;

    conexion = dbconnect(SERVIDOR, PUERTO, NOMBREDB, USUARIODB, PASSDB);
    if (conexion != NULL) {
        resultado = dbquery(conexion, "SELECT tienda, SUM(monto) FROM ventas GROUP BY tienda");
        num = dbnumrows(resultado);
        if (num > 0) {
            ventas = (ventas_anuales *) malloc(num * sizeof (ventas_anuales));
            for (i = 0; i < num; i++) {
                ventas[i].tienda = getString(dbresult(resultado, i, 0));
                ventas[i].monto = getLong(dbresult(resultado, i, 1));
            }
            dbfree(resultado);
        }
        dbclose(conexion);
    }

    *cantidades_ventas = num;

    return ventas;
}
开发者ID:sebasalazar,项目名称:C,代码行数:26,代码来源:tareas.c


示例14: csdb_chanlevhistory_insert

void csdb_chanlevhistory_insert(regchan *rcp, nick *np, reguser *trup, flag_t oldflags, flag_t newflags) {
  reguser *rup=getreguserfromnick(np);
  assert(rup != NULL);

  dbquery("INSERT INTO chanserv.chanlevhistory (userID, channelID, targetID, changetime, authtime, "
    "oldflags, newflags) VALUES (%u, %u, %u, %lu, %lu, %u, %u)",  rup->ID, rcp->ID, trup->ID, getnettime(), np->accountts,
    oldflags, newflags);
}
开发者ID:quakenet,项目名称:newserv,代码行数:8,代码来源:chanservdb_updates.c


示例15: csdb_updatetopic

void csdb_updatetopic(regchan *rcp) {
  char esctopic[TOPICLEN*2+5];

  if (rcp->topic) {
    dbescapestring(esctopic,rcp->topic->content,rcp->topic->length);
  } else {
    esctopic[0]='\0';
  }
  dbquery("UPDATE chanserv.channels SET topic='%s' WHERE ID=%u",esctopic,rcp->ID);
}
开发者ID:quakenet,项目名称:newserv,代码行数:10,代码来源:chanservdb_updates.c


示例16: dbtable_empty

/* returns true if the table t is empty */
int dbtable_empty(Dbptr db,char *t)
{
	long nrows;
	db=dblookup(db,0,t,0,0);
	dbquery(db,dbRECORD_COUNT,&nrows);
	if(nrows>0) 
		return(0);
	else
		return(1);
}
开发者ID:EugeneGalipchak,项目名称:antelope_contrib,代码行数:11,代码来源:save_predarr.c


示例17: csdb_createchanuser

void csdb_createchanuser(regchanuser *rcup) {
  char escinfo[210];

  if (rcup->info) 
    dbescapestring(escinfo, rcup->info->content, rcup->info->length);
  else
    escinfo[0]='\0';
  
  dbquery("INSERT INTO chanserv.chanusers VALUES(%u, %u, %u, %lu, %lu, '%s')",
		  rcup->user->ID, rcup->chan->ID, rcup->flags, rcup->changetime, 
		  rcup->usetime, escinfo);
}
开发者ID:quakenet,项目名称:newserv,代码行数:12,代码来源:chanservdb_updates.c


示例18: set_shot_variable

void set_shot_variable(Dbptr db, Arr *tables, int evid, SEGYTraceHeader *h)
{
	int *ok;
	char ss_string[30];
	long int ntest;
	double dnorth, deast, elev, edepth;

	ok = getarr(tables,"shot");
	if(ok)
	{
		db = dblookup(db,0,"shot",0,0);
		sprintf(ss_string,"evid == %d",evid);
		db = dbsubset(db,ss_string,0);
		dbquery(db,dbRECORD_COUNT,&ntest);
		if(ntest <= 0)
		{
			elog_complain(0,"evid %d not found in shot table\nShot coordinates will not be saved in segy headers\n",
				evid);
			dbfree(db);
			return;
		}
		else if(ntest > 1)
		{
			elog_notify(0,"multiple rows in shot found for evid %d\n",
				evid);
		}
		db.record = 0;
		if(dbgetv(db,0,
			"dnorth",&dnorth,
			"deast", &deast,
			"elev", &elev,
			"edepth",&edepth,
				NULL) == dbINVALID)
		{
			elog_complain(0,"dbgetv error for evid %d\nShot coordinates will not be saved in segy headers\n",
				evid);
			return;
		}
		/*convert to m from km */
		deast *= 1000.0;
		dnorth *= 1000.0;
		h->sourceLongOrX          = htonl((int32_t) deast);
		h->sourceLatOrY           = htonl((int32_t) dnorth);
		h->sourceSurfaceElevation = htonl((int32_t) elev);
		h->sourceDepth            = htonl((int32_t) edepth);
		/* WARNING:  This assumes receiver coordinates have already been set */
		h->sourceToRecDist = htonl( (int32_t) hypot(
					dnorth - ((double)(ntohl(h->recLatOrY ))),
					deast  - ((double)(ntohl(h->recLongOrX)))
		));
	}
	dbfree(db);
}
开发者ID:NVSeismoLab,项目名称:antelope_contrib,代码行数:53,代码来源:db2segy.c


示例19: csdb_updatemaillock

void csdb_updatemaillock(maillock *mlp) {
  char escpattern[1024], escreason[1024];

  dbescapestring(escpattern, mlp->pattern->content, mlp->pattern->length);

  if (mlp->reason)
    dbescapestring(escreason, mlp->reason->content, mlp->reason->length);
  else
    escreason[0]='\0';

  dbquery("UPDATE chanserv.maillocks SET pattern='%s', reason='%s', createdby=%u, created=%jd WHERE ID=%u", escpattern, escreason, mlp->createdby, (intmax_t)mlp->created, mlp->id);
}
开发者ID:quakenet,项目名称:newserv,代码行数:12,代码来源:chanservdb_updates.c


示例20: csdb_updatechanuser

void csdb_updatechanuser(regchanuser *rcup) {
  char escinfo[210];

  if (rcup->info) 
    dbescapestring(escinfo, rcup->info->content, rcup->info->length);
  else
    escinfo[0]='\0';

  dbquery("UPDATE chanserv.chanusers SET flags=%u, changetime=%lu, "
		  "usetime=%lu, info='%s' WHERE channelID=%u and userID=%u",
		  rcup->flags, rcup->changetime, rcup->usetime, escinfo, rcup->chan->ID,rcup->user->ID);
}
开发者ID:quakenet,项目名称:newserv,代码行数:12,代码来源:chanservdb_updates.c



注:本文中的dbquery函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ dbresults函数代码示例发布时间:2022-05-30
下一篇:
C++ dbprint函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap