Ignite Tools
Shared/Airship/External/UA_fmdb/UA_FMResultSet.h
00001 #import <Foundation/Foundation.h>
00002 #import "sqlite3.h"
00003 
00004 @class UA_FMDatabase;
00005 @class UA_FMStatement;
00006 
00007 @interface UA_FMResultSet : NSObject {
00008     UA_FMDatabase *parentDB;
00009     UA_FMStatement *statement;
00010     
00011     NSString *query;
00012     NSMutableDictionary *columnNameToIndexMap;
00013     BOOL columnNamesSetup;
00014 }
00015 
00016 
00017 + (id) resultSetWithStatement:(UA_FMStatement *)statement usingParentDatabase:(UA_FMDatabase*)aDB;
00018 
00019 - (void) close;
00020 
00021 - (NSString *)query;
00022 - (void)setQuery:(NSString *)value;
00023 
00024 - (UA_FMStatement *)statement;
00025 - (void)setStatement:(UA_FMStatement *)value;
00026 
00027 - (void)setParentDB:(UA_FMDatabase *)newDb;
00028 
00029 - (BOOL) next;
00030 - (BOOL) hasAnotherRow;
00031 
00032 - (int) columnIndexForName:(NSString*)columnName;
00033 - (NSString*) columnNameForIndex:(int)columnIdx;
00034 
00035 - (int) intForColumn:(NSString*)columnName;
00036 - (int) intForColumnIndex:(int)columnIdx;
00037 
00038 - (long) longForColumn:(NSString*)columnName;
00039 - (long) longForColumnIndex:(int)columnIdx;
00040 
00041 - (long long int) longLongIntForColumn:(NSString*)columnName;
00042 - (long long int) longLongIntForColumnIndex:(int)columnIdx;
00043 
00044 - (BOOL) boolForColumn:(NSString*)columnName;
00045 - (BOOL) boolForColumnIndex:(int)columnIdx;
00046 
00047 - (double) doubleForColumn:(NSString*)columnName;
00048 - (double) doubleForColumnIndex:(int)columnIdx;
00049 
00050 - (NSString*) stringForColumn:(NSString*)columnName;
00051 - (NSString*) stringForColumnIndex:(int)columnIdx;
00052 
00053 - (NSDate*) dateForColumn:(NSString*)columnName;
00054 - (NSDate*) dateForColumnIndex:(int)columnIdx;
00055 
00056 - (NSData*) dataForColumn:(NSString*)columnName;
00057 - (NSData*) dataForColumnIndex:(int)columnIdx;
00058 
00059 - (const unsigned char *) UTF8StringForColumnIndex:(int)columnIdx;
00060 - (const unsigned char *) UTF8StringForColumnName:(NSString*)columnName;
00061 
00062 /*
00063 If you are going to use this data after you iterate over the next row, or after you close the
00064 result set, make sure to make a copy of the data first (or just use dataForColumn:/dataForColumnIndex:)
00065 If you don't, you're going to be in a world of hurt when you try and use the data.
00066 */
00067 - (NSData*) dataNoCopyForColumn:(NSString*)columnName;
00068 - (NSData*) dataNoCopyForColumnIndex:(int)columnIdx;
00069 
00070 - (BOOL) columnIndexIsNull:(int)columnIdx;
00071 - (BOOL) columnIsNull:(NSString*)columnName;
00072 
00073 - (void) kvcMagic:(id)object;
00074 
00075 @end
 All Classes Functions Variables Properties