我已尝试按照此页面上的指南编写SQLite教程?删除数据| iPhone SDK文章,但我无法理解如何在我的应用程序中实现它,因为我没有在AppDelegate中声明NSMutableArray,因为它在教程中 有人可以看看并指导我完成它吗?我希望能够从tableview和数据库中删除行,并且还能够添加数据。 这是我的应用:http://ge.tt/9JNVd89?c 即使是最轻微的小费也会受到赞赏。
答案 0 :(得分: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);
}
如果您在将数据库放入应用程序并连接到它时遇到问题,请告诉我,我也可以发布一些代码。
希望有所帮助:)