本文整理汇总了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;未经允许,请勿转载。 |
请发表评论