2011-05-29 22 views
0

私はインターネットから自分のsqliteコンテンツを更新しようとしています。 私はsqlite dbをドキュメントディレクトリにコピーしました。そこから、ASIHTTPRequestを使用して、テキストのsqlite更新(値とキーを持つsqlite文の準備)を取得します。次のようにiphone/sqliteの問題

私のsqliteの文は次のとおりです。

INSERT OR REPLACE INTO items (id, name, parentid, orderme) VALUES (...); 

リモートsqliteの(私から文を得る1)上のIDは1です:私の地元のプロジェクトのものと1。

更新は、既に見つかったIDでのみ発生します。 IDが見つからない場合、挿入が起こっていません。 sqliteのiphoneのバージョンに問題はありますか?

私はアプリ内から同じコマンドを実行した場合(インターネットから受信しない場合)、必要なデータを作成するという点で変です。私は両方のfmdbとsqliteのネイティブコマンドを試しているので、コードの挿入に何か問題があるはずです。あなたはこれについて何か洞察していますか?

(移植性の理由からコアデータは使用しません)

+0

sqlクエリは完全に正常に見えますが、そのオブジェクトの一部についてはどうですか? (私は現在アプリケーションストアのそれと同じSQLを持っています) – Sam

+0

あなたは1つのことを明確にすることができます:リモートデータはローカルデータで1:1だから、すべての行に既存のIDがあるべきではないので、どんなINSERTが起こっているのではなく、ただREPLACEですか?データはどのようにサービスから返されますか?おそらく既存の行が返されるだけなので、挿入する機会はありません。 DBを更新する前にデータをログに記録しましたか? –

+0

いいえ、私が下で答えたように、実際には1行のスクリプトエラーでした。私は大きなブロック( "名前"は大きなテキストフィールド)を持たないように、すべての挿入(置換)をパックしようとしました。 そのような小さなものが開発を遅らせることができるのは面白いです。 – Panagiotis

答えて

0

実際、スクリプトは問題ありませんでした。

SQLiteがサポートしていないものは、(MySQLのように)1行に複数のコマンドがあります。一度私は複数の行にすべてを正常に働いたそれらを壊した。

関連する問題