2012-04-23 11 views
0

私はこのデータベースprogramming.iの初心者です。データベースから単一の列データを取得しましたが、データベースから複数の列データを取得することができません。データベースから複数の列データを取り出す方法は?

は、ここに私のコード

-(void) readItemsFromDatabaseforTable:(NSString *)tableName { 


    arrayItems = [[NSMutableArray alloc] init]; 


    if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) 
{ 

      NSString *sql_str = [NSString stringWithFormat:@"select * from %@", tableName]; 

     const char *sqlStatement = (char *)[sql_str UTF8String]; 

      NSLog(@"query %s",sqlStatement); 

     sqlite3_stmt *compiledStatement; 

if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) 
{ 

      while(sqlite3_step(compiledStatement) == SQLITE_ROW) { 

       NSString *idsstr = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 3)];    

       [arrayItems addObject:idsstr]; 
       NSLog(@"*************** %@",arrayItems); 
      } 
      while(sqlite3_step(compiledStatement) == SQLITE_ROW) 
{ 

      NSString *caloriesstr = [NSString stringWithUTF8String: 

(char*)sqlite3_column_text(compiledStatement, 4)];    

       [caloriesarry addObject:caloriesstr]; 

       NSLog(@"naveenkumartesting"); 

       NSLog(@"*************** %@",caloriesarry); 

} 

} 

私の主な目的は、データベースから列データを取得し、複数のアレイに格納することです。誰も私を助けて

くださいみんな、

答えて

1

使用このサンプル・クエリや要件に応じてクエリを作る。..

NSString *str = [NSString stringWithFormat:@"Select * from Yourtablename where image1 = '%@' AND person1 = '%@' AND category = '%@' AND PurchaseAmt = '%@'",Str,person1,category,Amountdata]; 

Use this tutorial

+0

私のプログラムでは、私は単一の列のデータを取得することができますが、複数の列data.i上記の方法を試みたが、他の解決策を与えるuse.pleaseを取得するために鍬... – kumar

2

あなたはwhile二時間でループする必要がいけません次のように1つのデータをすべて取得することができます:

const char *stmt = "select id, name from table1 where isImage = 1"; 
sqlite3_stmt *selectstmt; 
if (sqlite3_prepare_v2(database, stmt, -1, &selectstmt, NULL) == SQLITE_OK) { 
    while(sqlite3_step(selectstmt) == SQLITE_ROW) { 
     int rowid = sqlite3_column_int(selectstmt, 0); 
     NSString * name = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 1)]; 

    } 
} 
関連する問題