2012-06-18 54 views
1

我正嘗試按用戶類型顯示食物。不同類型的食物是表中不同的元素(水果,蔬菜,肉類等)。我在一個數據庫中使用sqlite的所有食物。如何使用目標c查詢此數據庫,以便我只能顯示用戶在下一個視圖的表中選擇的正確類型的食物?如何使用目標c查詢sqlite數據庫?

+1

http://www.sqlite.org/docs.html –

回答

1

我們在兩個應用程序中使用FMDB。它工作正常。

+1

但是對於基本的SQLite操作,僅僅對SQLite API進行編碼就簡單多了。 –

+0

我認爲FMDB更容易,特別是如果你想在Objective-c對象中得到結果的話。但SQLite API適用於直接的C代碼。 – EricS

+0

一旦你理解它,它可能會更容易使用,但它是別的東西來理解和配置,並阻礙了新手建立一個簡單的數據庫應用程序。 –

-1
-(NSArray *)GetAllFoods 
{ 
NSMutableArray *filesArray = [[NSMutableArray alloc] init]; 

// Open the database from the users filessytem 
NSString *DBPath = [ClsCommonFunctions GetDatabasePath]; 
if ([self OpenDBWithPath:DBPath]) 
{ 
    // Setup the SQL Statement and compile it for faster access 
    const char *sqlStatement = "your query"; 
    sqlite3_stmt *compiledStatement; 
    if(sqlite3_prepare_v2(filesDB, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) { 

     while(sqlite3_step(compiledStatement) == SQLITE_ROW) 
     { 
      // Need to get data from database... 
NSSstring *foodObj = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)] 

      [filesArray addObject:foodObj]; 
      FileObj = nil; 
     } 
    } 
    // Release the compiled statement from memory 
    sqlite3_finalize(compiledStatement); 
    sqlite3_close(filesDB); 
} 

return filesArray; 
相關問題