我正在iphone中开发一个应用程序来通过sqlite访问数据库。我声明了一种从数据库中检索数据的方法。此方法的返回类型是NSArray
吗?在sqlite select语句之后我们应该怎么做才能检索数据?
我的意思是在此查询之后。
NSString *selectStmt=[NSString stringWithFormat:@"select * from %@" , tableName];
sqlite3_prepare_v2(db, [selectStmt UTF8STRING] , -1, &statement, NULL);
请帮帮我。
答案 0 :(得分:1)
NSString *selectStmt=[NSString stringWithFormat:@"select * from %@", tableName];
if( sqlite3_prepare_v2(db, [selectStmt UTF8STRING] , -1,&statement, NULL) == SQLITE_OK ) {
while( sqlite3_step(statement) == SQLITE_ROW ) {
}
}
在 while 中,您可以从sqlite获取数据并将其添加到数组中!
祝你好运!答案 1 :(得分:0)
const char *sqlStatement = "your query";
if(sqlite3_prepare_v2(database, sqlStatement, -1, &selectStmt, NULL) == SQLITE_OK)
{
// Loop through the results and add them to the feeds array
while(sqlite3_step(selectStmt) == SQLITE_ROW)
{
NSString *stringField = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectStmt, 1)];
NSInteger intField = sqlite3_column_int(selectStmt, 0);
}
}
sqlite3_finalize(selectStmt);
selectStmt = nil;
这种方式需要从数据库中读取。您可以通过声明类来管理所有检索到的字段。例如,如果从Login表中检索字段,您可以将类作为LoginClass,具有2个属性UserName,Password。创建此类的实例并存储从Db检索的字段值,并将其添加到Array并在任何类似的地方使用它们。
希望这有帮助。
答案 2 :(得分:0)
const char *sql = "select * from stocks";
sqlite3_stmt *output;
if(sqlite3_prepare_v2(dbase, sql, -1, &output, NULL)==SQLITE_OK)
{
[temp removeAllObjects];
[temp1 removeAllObjects];
while(sqlite3_step(output)==SQLITE_ROW)
{
NSMutableString *str = [NSString stringWithUTF8String:(char *)sqlite3_column_text(output, 0)];
[temp1 addObject:str];
str = [NSString stringWithUTF8String:(char *)sqlite3_column_text(output, 1)];
[temp addObject:str];
}
}