0

NSMutableArrayテーブルビューに sqlite データベースのデータを表示するために a を使用しようとしています。

セル テキストとして使用する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 に答える