示例#1
0
int DbFunc::count(const QSqlDatabase& db,
                  const QString& tablename, const WhereConditions& where)
{
    SqlArgs sqlargs("SELECT COUNT(*) FROM " + delimit(tablename));
    addWhereClause(where, sqlargs);
    return dbFetchInt(db, sqlargs, 0);
}
static void selectFromTable(char *table, struct hTableInfo *tblInfo,
                            struct sqlConnection *conn, FILE *outFh)
/* select from a table and output rows */
{
struct dyString *query = dyStringNew(0);
dyStringPrintf(query, "SELECT %s.* FROM %s", table, table);
if (joinTbls != NULL)
    dyStringPrintf(query, ",%s", joinTbls);
addWhereClause(tblInfo, query);
verbose(2, "query: %s\n", query->string);

struct sqlResult *sr = sqlGetResult(conn, query->string);
int numCols = sqlCountColumns(sr);
char **row;
while ((row = sqlNextRow(sr)) != NULL)
    outputRow(outFh, tblInfo, numCols, row);
sqlFreeResult(&sr);
dyStringFree(&query);
}