/fmdb/FMResultSet.h
C Header | 93 lines | 59 code | 28 blank | 6 comment | 0 complexity | d846649be502cc0aff0e4b8007c3498f MD5 | raw file
- #import <Foundation/Foundation.h>
- #import "sqlite3.h"
- #ifndef __has_feature // Optional.
- #define __has_feature(x) 0 // Compatibility with non-clang compilers.
- #endif
- #ifndef NS_RETURNS_NOT_RETAINED
- #if __has_feature(attribute_ns_returns_not_retained)
- #define NS_RETURNS_NOT_RETAINED __attribute__((ns_returns_not_retained))
- #else
- #define NS_RETURNS_NOT_RETAINED
- #endif
- #endif
- @class FMDatabase;
- @class FMStatement;
- @interface FMResultSet : NSObject {
- FMDatabase *parentDB;
- FMStatement *statement;
-
- NSString *query;
- NSMutableDictionary *columnNameToIndexMap;
- BOOL columnNamesSetup;
- }
- + (id)resultSetWithStatement:(FMStatement *)statement usingParentDatabase:(FMDatabase*)aDB;
- - (void)close;
- - (NSString *)query;
- - (void)setQuery:(NSString *)value;
- - (FMStatement *)statement;
- - (void)setStatement:(FMStatement *)value;
- - (void)setParentDB:(FMDatabase *)newDb;
- - (BOOL)next;
- - (BOOL)hasAnotherRow;
- - (int)columnIndexForName:(NSString*)columnName;
- - (NSString*)columnNameForIndex:(int)columnIdx;
- - (int)intForColumn:(NSString*)columnName;
- - (int)intForColumnIndex:(int)columnIdx;
- - (long)longForColumn:(NSString*)columnName;
- - (long)longForColumnIndex:(int)columnIdx;
- - (long long int)longLongIntForColumn:(NSString*)columnName;
- - (long long int)longLongIntForColumnIndex:(int)columnIdx;
- - (BOOL)boolForColumn:(NSString*)columnName;
- - (BOOL)boolForColumnIndex:(int)columnIdx;
- - (double)doubleForColumn:(NSString*)columnName;
- - (double)doubleForColumnIndex:(int)columnIdx;
- - (NSString*)stringForColumn:(NSString*)columnName;
- - (NSString*)stringForColumnIndex:(int)columnIdx;
- - (NSDate*)dateForColumn:(NSString*)columnName;
- - (NSDate*)dateForColumnIndex:(int)columnIdx;
- - (NSData*)dataForColumn:(NSString*)columnName;
- - (NSData*)dataForColumnIndex:(int)columnIdx;
- - (const unsigned char *)UTF8StringForColumnIndex:(int)columnIdx;
- - (const unsigned char *)UTF8StringForColumnName:(NSString*)columnName;
- // returns one of NSNumber, NSString, NSData, or NSNull
- - (id)objectForColumnIndex:(int)columnIdx;
- - (id)objectForColumnName:(NSString*)columnName;
- /*
- If you are going to use this data after you iterate over the next row, or after you close the
- result set, make sure to make a copy of the data first (or just use dataForColumn:/dataForColumnIndex:)
- If you don't, you're going to be in a world of hurt when you try and use the data.
- */
- - (NSData*)dataNoCopyForColumn:(NSString*)columnName NS_RETURNS_NOT_RETAINED;
- - (NSData*)dataNoCopyForColumnIndex:(int)columnIdx NS_RETURNS_NOT_RETAINED;
- - (BOOL)columnIndexIsNull:(int)columnIdx;
- - (BOOL)columnIsNull:(NSString*)columnName;
- - (void)kvcMagic:(id)object;
- - (NSDictionary *)resultDict;
- @end