1

こんにちは私は以下のようなJSON形式のデータを持っています:

`contentJson=`[{"key1":"Value1","key2":"Value2","key3":"Value3","key4":"Value4","key5":"Value5","key6":"Value6","key7":"Value7", "key8":"Value8"},{"key1":"Value1","key2":"Value2","key3":"Value3","key4":"Value4","key5":"Value5","key6":"Value6","key7":"Value7", "key8":"Value8"}]

すべてのデータをSqliteデータベースの1つのフィールドに保存するにはどうすればよいですか?

私のコードは

 NSString *statement = [[NSString alloc]initWithFormat:@"INSERT INTO mydatabase(contentJson,ID) VALUES(\"%@\",%d)",contentJson,ID];

ただし、何も挿入されません。SQlitemanagerを介して手動で挿入すると、「Key1.....」でエラーなどのエラーが発生します。

誰かが私にこれを行う方法を教えてくれることを助けてくれれば幸いです。

4

1 に答える 1

3

挿入された文字列は次のようになります。

INSERT INTO mydatabase(contentJson,ID) VALUES(
"[{"key1":"Value1","key2":"Value2","key3":"Value3","key4":"Value4",
"key5":"Value5","key6":"Value6","key7":"Value7", "key8":"Value8"},
{"key1":"Value1","key2":"Value2","key3":"Value3","key4":"Value4",
"key5":"Value5","key6":"Value6","key7":"Value7", "key8":"Value8"}]",
ID);

rdbmsを混乱させるため、文字列の「」を削除する必要があります。

多分試してみてください

NSString *statement = [[NSString alloc]initWithFormat:@"INSERT INTO mydatabase(contentJson,ID) VALUES('%@',%d)",contentJson,ID];

ただし、真の解決策は、アプリケーションでSQL文字列の代わりにプリペアドステートメントを使用することです。プリペアドステートメントを使用する場合、これは問題ではありません。

于 2012-11-28T17:25:51.353 に答える