2010-06-17 1 views
1

Comment puis-je récupérer les données de sqlite en tant qu'entier dans la technologie iphone? J'ai récupéré les données sous forme de chaîne dont le code est mentionné ci-dessous, maintenant ce que doit chager dans ce code par lequel je peux aller chercher les données sous la forme d'un entier. S'il vous plaît aidez-moi.Récupère les données de sqlite en tant qu'entier à l'aide de l'iPhone

databaseName = @"KNAJ.sqlite"; 

NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDir = [documentPaths objectAtIndex:0]; 
databasePath =[documentsDir stringByAppendingPathComponent:databaseName]; 

[self checkAndCreateDatabase]; 

list1 = [[NSMutableArray alloc] init]; 

sqlite3 *database; 
if (sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) 
{ 
    if(detailStmt == nil) 
    { 
     ///const char *sql = "Select * from Purch1 "; 

     // const char *sql = "select item from purchase order by item desc limit 1 "; 


     const char *sql = "select * from product2";   

     if(sqlite3_prepare_v2(database, sql, -1, &detailStmt, NULL) == SQLITE_OK) 
     {    
      //NSLog(@"Hiiiiiii"); 
      //sqlite3_bind_text(detailStmt, 1, [t1 UTF8String], -1, SQLITE_TRANSIENT); 
      //sqlite3_bind_text(detailStmt, 2, [t2 UTF8String], -2, SQLITE_TRANSIENT); 
      //sqlite3_bind_int(detailStmt, 3, t3); 

      while(sqlite3_step(detailStmt) == SQLITE_ROW) 
      { 
       //NSLog(@"Helllloooooo"); 












       //NSString *item= [NSString stringWithUTF8String:(char *)sqlite3_column_text(detailStmt, 0)]; 


       NSString *item= [NSString stringWithUTF8String:(char *)sqlite3_column_text(detailStmt, 0)]; 


       char *str=(char*)sqlite3_column_text(detailStmt, 0); 

       if(str) 
       { 
        item = [ NSString stringWithUTF8String:str ]; 

       } 

       else 
       { 
        item= @""; 
       } 







       //+ (NSString*)stringWithCharsIfNotNull: (char*)item 
       /// { 
       // if (item == NULL) 
       // return nil; 
       //else 
       // return [[NSString stringWithUTF8String: item] 
       //stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]; 
       //}     









       //NSString *fame= [NSString stringWithUTF8String:(char *)sqlite3_column_text(detailStmt, 1)]; 
       //NSString *cinemax = [NSString stringWithUTF8String:(char *)sqlite3_column_text(detailStmt, 2)]; 
       //NSString *big= [NSString stringWithUTF8String:(char *)sqlite3_column_text(detailStmt, 3)]; 

       //pvr1 = pvr; 
       item1=item; 
       //NSLog(@"%@",item1); 

       data = [[NSMutableArray alloc] init]; 


       list *animal=[[list alloc] initWithName:item1]; 

       // Add the animal object to the animals Array 
       [list1 addObject:animal]; 
       //[list1 addObject:item]; 
       NSLog(@"%@",item1);     
      } 
      sqlite3_reset(detailStmt); 
     } 
     sqlite3_finalize(detailStmt); 
     // sqlite3_clear_bindings(detailStmt); 
    } 
} 
detailStmt = nil; 
sqlite3_close(database); 

}

Répondre

0

Vous pouvez probablement deviner ce que vous devez faire étant donné le nom de la fonction sqlite3_column_text ...

Il y a beaucoup de documentation on SQLite, mais la réponse à votre question est d'utiliser sqlite3_column_int ou sqlite3_column_int64 en fonction de la taille de l'entier dont vous avez besoin.

Questions connexes