我正在尝试使用NSMutableArray
在我的tableview中显示我的sqlite数据库中的一些数据。
当我使用AssetDesc
作为我的单元格文本时,我可以在我的UITableCell
中的sqlite数据库中看到我的描述。所以我知道一切正常。
然而,当我使用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
}
答案 0 :(得分:1)
原来我实际上不得不从我的设备上删除我的应用程序并再次运行它。它引用了存储在文档目录中的数据库。
我认为它是在我的Xcode项目中引用dataabase。
当我从设备上删除应用程序并再次安装它时,它显然删除了我的文档目录中的文件。