Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 13th, 2012  |  syntax: None  |  size: 4.51 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. how store primerykey in sqlitedatabase in iphone
  2. +(void) getInitialDataToDisplay:(NSString *)dbPath
  3. {
  4.     SqltestAppDelegate *appDelegate =(SqltestAppDelegate *)[[UIApplication sharedApplication]delegate];
  5.  
  6.     if (sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK)
  7.     {
  8.         const char *sql = "select JourneyID,JourneyName,LocationName,Description from UserJourney";
  9.         sqlite3_stmt *selectstmt;
  10.         if (sqlite3_prepare_v2(database, sql, -1, &selectstmt, NULL) == SQLITE_OK)
  11.         {
  12.             while (sqlite3_step(selectstmt) == SQLITE_ROW)
  13.             {
  14.                 NSInteger primaryKey = sqlite3_column_int(selectstmt, 0);
  15.                 NewJourney *newobj = [[NewJourney alloc]initWithPrimaryKey:primaryKey];
  16.                 newobj.journeyName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 1)];
  17.                 newobj.isDirty = NO;
  18.                 [appDelegate.journeyList addObject:newobj];
  19.                 [appDelegate.journeyList release];
  20.             }
  21.         }
  22.     }
  23.     else {
  24.         sqlite3_close(database);
  25.     }
  26.  
  27. }
  28.  
  29.  
  30. +(void) finalizeStatements
  31. {
  32.     if (database) sqlite3_close(database);
  33.     if (database) sqlite3_finalize(deleteStmt);
  34.     if (database) sqlite3_finalize(addStmt);
  35.     if (database) sqlite3_finalize(detailSmt);
  36.     if (database) sqlite3_finalize(updateStmt);
  37. }
  38.  
  39. -(id) initWithPrimaryKey:(NSInteger)pk
  40. {
  41.     [super init];
  42.     journeyID = pk;
  43.     isDetailViewHydrated = NO;
  44.     return self;
  45. }
  46.  
  47. -(void) deleteCoffee
  48. {
  49.     if (deleteStmt == nil)
  50.     {
  51.         const char *sql = "delete from UserJourney where JourneyID = ?";
  52.         if (sqlite3_prepare_v2(database, sql, -1, &deleteStmt,NULL) != SQLITE_OK)
  53.         {
  54.             NSAssert1(0,@"Error while creating delete statemnet.'%s'",sqlite3_errmsg(database));
  55.         }
  56.         //when binding parameters, index starts from 1 and not zero.
  57.         sqlite3_bind_int(deleteStmt, 1, journeyID);
  58.  
  59.         if (SQLITE_DONE != sqlite3_step(deleteStmt))
  60.         {
  61.             NSAssert1(0,@"Error while deleting. '%s'",sqlite3_errmsg(database));
  62.  
  63.         }
  64.         sqlite3_reset(deleteStmt);
  65.     }
  66. }
  67.  
  68. -(void) addCoffee
  69. {
  70.  
  71.     if (addStmt == nil)
  72.     {
  73.         const char *sql = "insert into UserJourney(JourneyName,LocationName,Description) Values(?,?,?)";
  74.         if (sqlite3_prepare_v2(database, sql, -1,&addStmt , NULL) != SQLITE_OK)
  75.         {
  76.             NSAssert1(0,@"Error while creating add statement.'%s'",sqlite3_errmsg(database));
  77.         }
  78.         sqlite3_bind_text(addStmt, 1 , [journeyName UTF8String], -1, SQLITE_TRANSIENT);
  79.         sqlite3_bind_text(addStmt, 2 , [locationName UTF8String],-1, SQLITE_TRANSIENT);
  80.         sqlite3_bind_text(addStmt, 3, [description UTF8String],-1, SQLITE_TRANSIENT);
  81.         if (SQLITE_DONE != sqlite3_step(addStmt))
  82.         {
  83.             NSAssert1(0,@"Error while inserting data. '%s'",sqlite3_errmsg(database));
  84.         }else
  85.         {
  86.             journeyID = sqlite3_last_insert_rowid(database);
  87.         }
  88.         sqlite3_reset(addStmt);
  89.     }
  90. }
  91.  
  92. /*-(void) hydrateDetailViewData
  93. {
  94.  
  95.     if (isDetailViewHydrated) return;
  96.  
  97.     if (detailSmt == nil) {
  98.         const char *sql = "select JourneyName,Description from UserJourney where JourneyID = ?";
  99.         if (sqlite3_prepare_v2(database, sql, -1, &detailSmt,NULL) != SQLITE_OK)
  100.             NSAssert1(0,@"Error while creating detail view statement. '%s'",sqlite3_errmsg(database));
  101.  
  102.     }
  103.     sqlite3_bind_int(detailSmt,1,journeyID);
  104.     if (SQLITE_DONE != sqlite3_step(detailSmt))
  105.     {
  106.         <#statements#>
  107.     }
  108.  
  109. }*/
  110.  
  111. -(void)saveAllData
  112. {
  113.     if (isDirty) {
  114.         if (updateStmt == nil) {
  115.             const char *sql = "update UserJourney Set JourneyName = ?,LocationName = ?, Description = ? Where JourneyID =?";
  116.             if (sqlite3_prepare_v2(database, sql, -1, &updateStmt, NULL) != SQLITE_OK)
  117.                 NSAssert1(0,@"Error while creating update statement. '%s'",sqlite3_errmsg(database));
  118.  
  119.         }
  120.         sqlite3_bind_text(updateStmt, 1, [journeyName UTF8String], -1, SQLITE_TRANSIENT);
  121.         sqlite3_bind_text(updateStmt, 2, [locationName UTF8String], -1, SQLITE_TRANSIENT);
  122.         sqlite3_bind_text(updateStmt, 3, [description UTF8String], -1, SQLITE_TRANSIENT);
  123.         sqlite3_bind_int(updateStmt,4, journeyID);
  124.  
  125.         if(SQLITE_DONE != sqlite3_step(updateStmt))
  126.             NSAssert1(0, @"Error while updating. '%s'", sqlite3_errmsg(database));
  127.  
  128.         sqlite3_reset(updateStmt);
  129.  
  130.         isDirty = NO;
  131.  
  132.     }
  133.     [journeyName release];
  134.     journeyName = nil;
  135.     isDetailViewHydrated = NO;
  136.  
  137. }
  138.        
  139. [appDelegate.journeyList release];
  140.        
  141. [newobj release];