-
Notifications
You must be signed in to change notification settings - Fork 0
DBCDatabaseResult
#DBCDatabaseResult Class Reference
[SQLitews]:http://www.sqlite.org
[APPLFastEnumerationProtocol]:http://developer.apple.com/library/ios/#documentation/cocoa/reference/NSFastEnumeration_protocol/Reference/NSFastEnumeration.html
[DBCDatabaseRowCR]:https://github.com/parfeon/DBConnect/wiki/DBCDatabaseRow
[DBCDatabaseCR]:https://github.com/parfeon/DBConnect/wiki/DBCDatabase
[DBCDatabaseBasicExample]:https://github.com/parfeon/DBConnect/wiki/DBCDatabase#basicExample
[DBCDatabaseExecuteQuery]:https://github.com/parfeon/DBConnect/wiki/DBCDatabase#m12
Overview
This class holds all information retrieved from query execution with [executeQuery:error:][DBCDatabaseExecuteQuery].
This class holds information about:
- column names
- SQL query, which was used
- rows with data
- count of rows with data
##Tasks
###DBCDatabaseResult initialization
+ resultWithPreparedStatement:encoding:
- initWidthPreparedSatetement:encoding:
###DBCDatabaseResult rows manipulation
- addRowFromStatement:
- rowAtIndex:
###DBCDatabaseResult properties
count
columnNames
queryExecutionDuration
query
##Properties
This property stores count of [DBCDatabaseRow][DBCDatabaseRowCR] instance entries.
@property (nonatomic, readonly)int count
Discussion
This parameter stores information about how many rows were retrieved from last query.
How to use
In this example, we will use results from one of the [examples][DBCDatabaseBasicExample], shown earlier in [DBCDatabase Class Reference][DBCDatabaseCR] and retrieve rows count:
error = nil;
DBCDatabaseResult *result = [db executeQuery:@"SELECT * FROM test" error:&error, nil];
if(error == nil){
int rowsCount = [result count];
NSLog(@"Rows count: %i", rowsCount);
} else {
// In some rare cases an error may occur, just log it out to find out what was wrong. Or you can set a flag
for DBCUseDebugLogger in DBCConfiguration.h, than DBConnect will log out all debug information.
NSLog(@"Occurred an error: %@", error);
}
/* Output:
Rows count: 4
*/
This property stores column names from recent SQL statement.
@property (nonatomic, readonly, getter = columnNames)NSArray *colNames
Discussion
This parameter stores a list of columns' names.
This property stores duration of SQL query statement execution.
@property (nonatomic, assign)NSTimeInterval queryExecutionDuration
Discussion
If DBCShouldProfileQuery enabled in DBCConfiguration.h, than this parameter will store time, which was spent for query execution.
This property stores SQL statement for recent query execution.
@property (nonatomic, readonly, getter = query)NSString *querySQL
Discussion
This property stores SQL query statement, which was used for last query execution.
##Class methods
resultWithPreparedStatement:encoding:
Create and initialize DBCDatabaseResult instance with specified SQL statement and encoding.
+ (id)resultWithPreparedStatement:(sqlite3_stmt*)statement encoding:(DBCDatabaseEncoding)databaseEncoding
Parameters
statement
[SQLite][SQLitews] statement, used for query.
databaseEncoding
current encoding, used for opened database connection.
Return value
Autoreleased DBCDatabaseResult instance.
Discussion
This method creates and initializes DBCDatabaseResult instance, which is ready to use by DBCDatabase.
See Also
- initWidthPreparedSatetement:encoding:
##Instance methods
initWidthPreparedSatetement:encoding:
Initialize DBCDatabaseResult instance with specified SQL statement and encoding.
- (id)initWidthPreparedSatetement:(sqlite3_stmt*)statement encoding:(DBCDatabaseEncoding)databaseEncoding
Parameters
statement
[SQLite][SQLitews] statement, used for query.
databaseEncoding
current encoding, used for opened database connection.
Return value
Initialized DBCDatabaseResult instance.
Discussion
This method initialize DBCDatabaseResult instance, which is ready to use by DBCDatabase.