2010-02-20 55 views
0

我用这我如何检索来自sqlite数据库的文本数据在objective-c中?

-(void) Data 

    { 
    databaseName = @"List.sqlite"; 

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

    [self checkAndCreateDatabase]; 


    sqlite3 *database; 
    if (sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) 
    { 
    if(detailStmt == nil) 
    { 
     const char *sql = "Select item from list";   
     if(sqlite3_prepare_v2(database, sql, -1, &detailStmt, NULL) == SQLITE_OK) 
     {    
      NSLog(@"Hiiiiiii"); 

      while(sqlite3_step(detailStmt) == SQLITE_ROW) 
      { 
       NSLog(@"Helllloooooo"); 
       NSString *item= [NSString stringWithUTF8String:(char *)sqlite3_column_text(detailStmt, 0)]; 

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


      } 
      sqlite3_reset(detailStmt); 
     } 
     sqlite3_finalize(detailStmt); 
     sqlite3_clear_bindings(detailStmt); 
    } 
} 
detailStmt = nil; 
sqlite3_close(database); 
} 
+1

@uttam的:请提供你想要什么更具体的细节。 – Sampson 2010-02-20 06:31:26

+1

为什么不使用核心数据? sqlite API实际上非常难以正确使用。核心数据有更好的入门文档和更好的支持。 – bbum 2010-02-20 07:00:10

回答

0

你应该看看at this tutorial.,当我在iossqlite它总是帮助我。对我来说,它看起来应该有点结构化你的代码,你不应该在查询方法中加载任何路径。

可能发生的问题,因为

sqlite3_reset(detailStmt); 
sqlite3_clear_bindings(detailStmt); 
相关问题