0

わかりましたので、fmdb は完全に時代遅れであり、コア データはどこにあるかを理解していますが、今のところ、fmdb を使用してリソース フォルダー内の sqlite db から読み取る作業中のアプリを微調整する必要があります。

私は自分のデータベースに書き込むことができる必要があります。クエリを実行する最良の方法は何ですか? 私は、データベースから読み取るために行うのと同じことを試みました:

FMResultSet * set = [[UIApp database] executeQuery:[customQueries selectAll], book];

文字列 selectAll を SELECT ステートメントから INSERT INTO ステートメントに変更し、挿入する変数 book を渡しますが、機能していないようです...

私は何が欠けていますか?私のsqlite dbに書き込めるようにするにはどうすればいいですか?? ありがとう!

4

2 に答える 2

5

挿入するには、次のようにします。ここで、dbはFMDatabaseへの参照です。

[db executeUpdate:@"insert into theTable (field1, field2) values(?, ?)", 
    theField1, theField2, nil];

パラメーターリストの最後にnilがあることを確認し(クエリ内の2つの疑問符は2つのパラメーターとnilを意味します)、パラメーターとしてNSタイプを使用していることを確認します。intをパラメーターとして使用しようとすると、クラッシュします。代わりにNSNumberを使用する必要があります。

于 2010-11-21T15:20:31.957 に答える
2
FMDatabase* db = [FMDatabase databaseWithPath:dbPath];

FMResultSet *rs = [db executeQuery:@"select * from table"];
while ([rs next]) {
    NSLog(@"%d", [rs intForColumn:@"id"];
}

// Close the result set.
[rs close];  

// Close the database.
[db close];
于 2010-11-21T13:03:44.550 に答える