/MapView/Map/FMDB/FMResultSet.h

http://github.com/route-me/route-me · C Header · 75 lines · 46 code · 24 blank · 5 comment · 0 complexity · 00785bbb4e52f61a346886afff43f345 MD5 · raw file

  1. #import <Foundation/Foundation.h>
  2. #import "sqlite3.h"
  3. @class FMDatabase;
  4. @class FMStatement;
  5. @interface FMResultSet : NSObject {
  6. FMDatabase *parentDB;
  7. FMStatement *statement;
  8. NSString *query;
  9. NSMutableDictionary *columnNameToIndexMap;
  10. BOOL columnNamesSetup;
  11. }
  12. + (id) resultSetWithStatement:(FMStatement *)statement usingParentDatabase:(FMDatabase*)aDB;
  13. - (void) close;
  14. - (NSString *)query;
  15. - (void)setQuery:(NSString *)value;
  16. - (FMStatement *)statement;
  17. - (void)setStatement:(FMStatement *)value;
  18. - (void)setParentDB:(FMDatabase *)newDb;
  19. - (BOOL) next;
  20. - (BOOL) hasAnotherRow;
  21. - (int) columnIndexForName:(NSString*)columnName;
  22. - (NSString*) columnNameForIndex:(int)columnIdx;
  23. - (int) intForColumn:(NSString*)columnName;
  24. - (int) intForColumnIndex:(int)columnIdx;
  25. - (long) longForColumn:(NSString*)columnName;
  26. - (long) longForColumnIndex:(int)columnIdx;
  27. - (long long int) longLongIntForColumn:(NSString*)columnName;
  28. - (long long int) longLongIntForColumnIndex:(int)columnIdx;
  29. - (BOOL) boolForColumn:(NSString*)columnName;
  30. - (BOOL) boolForColumnIndex:(int)columnIdx;
  31. - (double) doubleForColumn:(NSString*)columnName;
  32. - (double) doubleForColumnIndex:(int)columnIdx;
  33. - (NSString*) stringForColumn:(NSString*)columnName;
  34. - (NSString*) stringForColumnIndex:(int)columnIdx;
  35. - (NSDate*) dateForColumn:(NSString*)columnName;
  36. - (NSDate*) dateForColumnIndex:(int)columnIdx;
  37. - (NSData*) dataForColumn:(NSString*)columnName;
  38. - (NSData*) dataForColumnIndex:(int)columnIdx;
  39. - (const unsigned char *) UTF8StringForColumnIndex:(int)columnIdx;
  40. - (const unsigned char *) UTF8StringForColumnName:(NSString*)columnName;
  41. /*
  42. If you are going to use this data after you iterate over the next row, or after you close the
  43. result set, make sure to make a copy of the data first (or just use dataForColumn:/dataForColumnIndex:)
  44. If you don't, you're going to be in a world of hurt when you try and use the data.
  45. */
  46. - (NSData*) dataNoCopyForColumn:(NSString*)columnName;
  47. - (NSData*) dataNoCopyForColumnIndex:(int)columnIdx;
  48. - (BOOL) columnIndexIsNull:(int)columnIdx;
  49. - (BOOL) columnIsNull:(NSString*)columnName;
  50. - (void) kvcMagic:(id)object;
  51. @end