2012-02-06 26 views
0

私はFMDBを使用しています。次のコードを実行しましたFMDBにプライマリIDがありません

FMResultSet *results = [database executeQuery:@"select * from customer"]; 
while([results next]) 
{ 
    Customer *customer = [[Customer alloc] init]; 

    customer.customerId = [results intForColumn:@"id"]; 
    customer.firstName = [results stringForColumn:@"firstname"]; 
    customer.lastName = [results stringForColumn:@"lastname"]; 

    [customers addObject:customer]; 
    NSLog(@"%d", customer.customerId); 
} 

しかし、私はcustomerId値を取得していません。私はちょうど自動的にインクリメントされるROWIDをしたい。

親切...何かを示唆して

+0

「お客様」テーブルの構造は何ですか? – Ilanchezhian

+0

テーブルに名前が 'id'のフィールドはありますか? – Ilanchezhian

+0

いいえ。idのフィールドはありません。それはfirstnameとlastnameだけを持っています。しかし、自動的に作成され、自動的にインクリメントされるROWIDが必要です。 – Myaaoonn

答えて

1

INTEGER PRIMARY KEYタイプのフィールド名idを持つ列を作成します。行を挿入するときに、このフィールドに値を挿入する必要はありません。

More info

そして、ちょうどFYI、releasecustomerオブジェクトがメモリリークを避けるために。

[customers addObject:customer]; 
NSLog(@"%d", customer.customerId); 
[customer release]; 
+0

ありがとう..それは働く.. – Myaaoonn

+0

それがあなたの問題を解決するなら、あなたが答えとしてこれを受け入れるなら、それは素晴らしいでしょう。 – Ilanchezhian

0

あなたがintForColumnIndexを使用してみましたが:代わりにintForColumnの0?

関連する問題