2011-10-25 95 views
0

我試過按照本頁上的指南SQLite教程?刪除數據| iPhone SDK的文章,但我只是不明白如何在我的應用程序中實現它,因爲我的NSMutableArray沒有在AppDelegate中聲明,因爲它在教程 有人可以看一看,並指導我通過它嗎?我希望能夠從tableview和數據庫中刪除行,並且還能夠添加數據。 這裏是我的應用程序:http://ge.tt/9JNVd89?c 即使是最細微的小費將不勝感激。如何添加和刪除SQLite數據庫中的數據?

回答

0

對於您當前的知識水平,您可能需要更多信息。你有多遠?你能夠連接並從中讀取數據嗎?你瞭解SQL的工作原理嗎?

如果你想從數據庫中檢索數據,你可以寫類似以下內容:

+ (NSArray *)getAllUsers 
{ 
    sqlite3 *db = **However you get your db conn** 
    sqlite3_stmt *statement = nil; 
    NSMutableArray *userArray = [NSMutableArray array]; 

    NSString *fullQuery = @"SELECT * FROM User"; 

    const char *sql = [fullQuery UTF8String]; 

    if(sqlite3_prepare_v2(db, sql, -1, &statement, NULL)!=SQLITE_OK) 
     NSAssert1(0, @"Error preparing statement '%s'", sqlite3_errmsg(db)); 
    else 
    { 
     while(sqlite3_step(statement) == SQLITE_ROW) 
     { 
      User *currentUser = [[User alloc] init]; 

      [User setPk:[NSString stringWithUTF8String:(const char*)sqlite3_column_text(statement, 0)]]; 
      [User setName:[NSString stringWithUTF8String:(const char*)sqlite3_column_text(statement, 1)]]; 
      [User setAge:[NSString stringWithUTF8String:(const char*)sqlite3_column_text(statement, 2)]]; 

      [userArray currentUser]; 
      [currentUser release]; 
     } 
    } 
    sqlite3_finalize(statement); 
    sqlite3_close(db); 

    return [NSArray arrayWithArray:userArray]; 
} 

,如果你想將數據插入到它:

+ (void)insertUser:(NSString *)username 
{ 

    sqlite3 *db = **However you get your db conn** 
    sqlite3_stmt *statement = nil; 

    NSString *fullQuery = [NSString stringWithFormat:@"INSERT INTO User (userName) VALUES (%@);", username]; 
    const char *sql = [fullQuery UTF8String]; 

    sqlite3_prepare_v2(db, sql2, -1, &statement, NULL); 
    if(sqlite3_step(statement) == SQLITE_DONE) 
    { 
     NSLog(@"User inserted"); 
    } 
    sqlite3_finalise(statement); 
    sqlite3_close(db); 
} 

如果您有麻煩將數據庫存入應用程序並連接到它,讓我知道,我也可以發佈一些代碼。

希望能幫到:)