iphone - 我的 iPhone 项目无法获取超过 5 行的 sqlite 表?

标签 iphone objective-c ios sqlite

当我尝试从 sqlite 数据库表中获取数据时,NSArray 的容量为 100,count 数组的容量为 9。count[5] 返回给我的垃圾数据根本不在表中。甚至前 5 条记录也正确返回。

    if(sqlite3_open([dbPath UTF8String],&database)==SQLITE_OK){

        const char* sql2= " select * from Bcars";

        sqlite3_stmt *selectstatment;

        if(sqlite3_prepare_v2(database,sql2,-1,&selectstatment,Nil)==SQLITE_OK){

            while(sqlite3_step(selectstatment)==SQLITE_ROW){
                // fetch the id


                 count[i++]=sqlite3_column_int(selectstatment, 0);

                 carobject.primarykey=sqlite3_column_int(selectstatment, 0);


                [ar addObject:[NSString stringWithUTF8String:(char*)sqlite3_column_text(selectstatment, 1)]];
                [ar1 addObject:[NSString stringWithUTF8String:(char*)sqlite3_column_text(selectstatment, 2)]];


            } 
        }

    }
    else 
    {

    sqlite3_close(database);
        self.statustext.text=@" database closed";
    }

self.statustext.text=[[NSString alloc]initWithFormat:@"%d",count[4]];/* when I try to return count[5] it gives me rabbish value !!*/

    self.searchtext.text=(NSString*)[ar objectAtIndex:5];//here is an error occurred !!

最佳答案

您的代码存在几个问题:

  • 您尚未初始化 i计数器,所以我假设它已在代码片段之外初始化,或者?
  • 您如何知道数据库中实际有多少数据可用? count数组必须足够大才能容纳所有行,否则您将覆盖一些未分配的内存。也许您事先知道这一点,否则您应该找出例如通过执行一些 SQL 语句,又名 "SELECT COUNT(*) FROM Bcars" .
  • 您绝对确定数据库包含超过 5 个条目吗?代码只是假设这一点,但不会对 i 的值进行任何检查。或[ar count]您是否真的收到了这些条目?
  • 确保在执行后通过调用 sqlite3_finalize() 进行清理

关于iphone - 我的 iPhone 项目无法获取超过 5 行的 sqlite 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7672287/

相关文章:

iphone - iOS向大量用户推送通知

iphone - 我修改了 iOS 应用程序,但是当我使用 xcode 4 构建和运行它时,它并没有改变

ios - 从不兼容类型 'id<UINavigationControllerDelegate,UIImagePickerControllerDelegate>' 分配给 'ViewController *const__strong'

objective-c - NSScrollView 无限/无限滚动 | subview 重用

ios - 如何以编程方式滚动浏览 Collection View ?

ios - 从 GameViewController 到 GameScene 访问按钮、标签和 uiimageview

iphone - 使用 PayPal 的 iPhone/iPad 应用程序列表

iphone - 如何在 objective-c :Iphone中用%替换空格

ios - 如何判断用户何时在 APNs 消息警报 View 中单击关闭

ios - UISegmentedControl:如何在使用自定义图像时不突出显示已选择的片段