そのため、Androidを学習しているときに、の使用ContentProvider
方法と、を使用して正しく挿入する方法について多くのアドバイスをもらいましたSqliteDatabase
。今、私には意味のないエラーがあります。少なくとも、誰もが私に言っていたことすべてについてです。エラーは次のとおりです。
android.database.sqlite.SQLiteException: near "s": syntax error:
while compiling: SELECT * FROM events WHERE time_stamp='07/21/2012 2:59:03 PM' AND
event='Test This's'
'
どこにも表示されない限り、すべてが正常に機能します。エスケープする必要があるので、理由はわかります。しかし、これは意味がありません。なぜなら、生のクエリを使用せず、提供されているバインディングメソッドを使用するように言われているからです。私の例が何であるかを提供させてください:
ContentValues newValues = new ContentValues();
newValues.put("event_id", eventId);
newValues.put("event_name", eventName);
newValues.put("start_date", startDate);
newValues.put("start_time", values.getAsString("start_time"));
newValues.put("end_date", endDate);
newValues.put("end_time", values.getAsString("end_time"));
newValues.put("location", values.getAsString("location"));
Long success = database.insert("events_info", null, newValues);
私が理解できたことから、それをバインドすることを想定しているので、なぜこれを回避する必要があるのですか?これがとのような他の方法にのみ適用される場合を除きquery()
ますupdate()
。どちらの場合でも、AndroidにSQLiteを挿入するための文字列を準備する際の適切な方法に誰かが光を当てることを望んでいます。前もって感謝します。