0

我正在尝试使用 aNSMutableArray在我的 tableview 中显示我的 sqlite 数据库中的一些数据。

当我使用AssetDesc我的单元格文本时,我可以从我的 sqlite 数据库中看到我的描述UITableCell。所以我知道一切正常。

但是,当我使用 AssetName 作为单元格文本时,我收到一个 sqlite 错误消息:

Warning: I could not find the column named 'AssetName'.

如果我改变这一行:

customer.assetName = [results stringForColumn:@"AssetName"];

像这样:

customer.assetName = [results stringForColumn:@"AssetDesc"];

它可以工作,所以它必须在我的数据库中,但我无法确定它。

但我确信那在我的资产表中。这对我来说很有意义。下面是我的数据库和代码的图片:

-(NSMutableArray *) getCustomers
{
    NSMutableArray *customers = [[NSMutableArray alloc] init];

    FMDatabase *db = [FMDatabase databaseWithPath:[Utility getDatabasePath]];

    [db open];

    FMResultSet *results = [db executeQuery:@"SELECT * FROM asset"];

    while([results next])
    {
        Customer *customer = [[Customer alloc] init];

        customer.assetId = [results intForColumn:@"AssetID"];
        customer.assetName = [results stringForColumn:@"AssetName"];
        customer.assetDesc = [results stringForColumn:@"AssetDesc"];

        [customers addObject:customer];

    }

    [db close];

    return customers;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"CustomerCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    Customer *customer = [self.customers objectAtIndex:[indexPath row]];

    [[cell textLabel] setText:[NSString stringWithFormat:@"%@",customer.assetName]];
    [[cell detailTextLabel] setText:[NSString stringWithFormat:@"%@",customer.assetDesc]];

    return 
}

在此处输入图像描述

4

1 回答 1

1

事实证明,我实际上不得不从我的设备上删除我的应用程序并再次运行它。它引用了存储在文档目录中的数据库。

我认为它引用了我的 Xcode 项目中的数据库。

当我从设备上删除该应用程序并再次安装时,它显然删除了我的文档目录中的文件。

于 2013-06-06T16:42:08.780 回答