微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从SQLite表中检索所有行?

如何解决如何从SQLite表中检索所有行?

| 大家好,我正在iphone中进行一些数据库操作..请任何人解释一下如何从表中检索所有行..在此示例中,它仅检索最新输入的数据。
while(sqlite3_step(statement) == sqlITE_ROW)
    {   
        char *field1 = (char *) sqlite3_column_text(statement,0);
        Nsstring *field1Str = [[Nsstring alloc] initWithUTF8String: field1];
        char *field2 = (char *) sqlite3_column_text(statement,1);
        Nsstring *field2Str = [[Nsstring    alloc] initWithUTF8String: field2];

        Nsstring *str = [[Nsstring alloc] initWithFormat:@\"%@::%@\",field1Str,field2Str];
        textv.text=str;

        [field1Str release];
        [field2Str release];
    }
    

解决方法

        到目前为止,您一切都很好。只需继续在NSMutableArray中添加最终格式化的字符串(str),最后从函数中将其返回即可。
// Take an array to store all string.
NSMutableArray *allRows = [[[NSMutableArray alloc] init] autorelease];

while(sqlite3_step(statement) == SQLITE_ROW)
    {   
        char *field1 = (char *) sqlite3_column_text(statement,0);
        NSString *field1Str = [[NSString alloc] initWithUTF8String: field1];
        char *field2 = (char *) sqlite3_column_text(statement,1);
        NSString *field2Str = [[NSString    alloc] initWithUTF8String: field2];

        NSString *str = [NSString stringWithFormat:@\"%@::%@\",field1Str,field2Str];
        // textv.text=str; // I don\'t know why your are mixing your view controller stuff\'s in database function.
// Add the string in the array.
allRows addObject:str];

        [field1Str release];
        [field2Str release];
    }

// Finally you can return your allRows
return allRows;
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。