本文整理汇总了C++中QueryResult::appendResultRow方法的典型用法代码示例。如果您正苦于以下问题:C++ QueryResult::appendResultRow方法的具体用法?C++ QueryResult::appendResultRow怎么用?C++ QueryResult::appendResultRow使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QueryResult
的用法示例。
在下文中一共展示了QueryResult::appendResultRow方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: execQuery
void QueryDB::execQuery( const QString& db_path , const QString& query , QueryResult& q_result )
{
sqlite3 *db;
sqlite3_stmt *stmt;
int rc = 0 ;
int col, cols;
q_result.clear();
rc = sqlite3_open( db_path.toAscii().data() , &db );
if( rc ){
return ;
}
rc = sqlite3_prepare_v2( db, query.toUtf8().data() , -1, &stmt, 0);
if( rc ){
return ;
}
cols = sqlite3_column_count(stmt);
for( col=0; col<cols; col++)
{
char *sql_buffer = NULL ;
sql_buffer = (char*)sqlite3_column_name( stmt, col ) ;
QString name = QString::fromUtf8( (const char*)sql_buffer ) ;
q_result.appendColumnName( name , col );
// qDebug() << QString( (const char*)sqlite3_column_name( stmt, col ) ) ;
}
QStringList row ;
cols = sqlite3_column_count(stmt);
// execute the statement
do{
rc = sqlite3_step(stmt);
switch( rc ){
case SQLITE_DONE:
break;
case SQLITE_ROW:
row.clear();
// print results for this row
for( col=0; col<cols; col++){
const unsigned char *sql_buffer = NULL ;
sql_buffer = sqlite3_column_text( stmt, col ) ;
//if ( cols == 1 )
row.append( QString::fromUtf8( (const char*)sql_buffer ) ) ;
}
q_result.appendResultRow( row ) ;
break;
default:
break;
}
} while ( rc == SQLITE_ROW ) ;
// finalize the statement to release resources
sqlite3_finalize(stmt);
sqlite3_close( db ) ;
}