JavaでSQLiteのデータの更新を行いたいのですがなかなかうまくいかず、現在下記のようなコードを書いてみたのですが、
Caused by: android.database.sqlite.SQLiteException: no such column:
とのエラーが発生してしまいます。
そこでいろいろ検索してみるとデータの更新に、db.execSQL()は使わずにupdate()のほうが良いといった情報を目にしました。
カラムが存在しないといったエラーのようなのですが、このエラーがなぜ発生してしまっているのか、どちらのメソッドが良いのか合わせて教えていただけるとありがたいです。
db.execSQL("update " + SQLDataContract.Data.TABLE_NAME + " set " + s1 + " = ?, " + s2 + " = ?, " + s3 + " = ?, " + s4 + " = ?, " + s5 + " = ? " + " where " + SQLDataContract.Data.COL_YEAR + " = ? and " + SQLDataContract.Data.COL_MONTH + " = ? and " + SQLDataContract.Data.COL_DATE + " = ? and " + SQLDataContract.Data.COL_PLACE + " = ?", new Object[]{n1, n2, n3, n4, n5, year, month, date, place}); コード
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/08/31 04:17
回答1件
0
ベストアンサー
execSQLに渡しているSQL文をログ出力してください。
エラーメッセージの通りテーブルに存在しないカラム名が含まれているはずです。
投稿2017/08/30 13:16
総合スコア18155
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/08/30 13:22
退会済みユーザー
2017/08/30 13:31
2017/08/30 13:46 編集
退会済みユーザー
2017/08/30 14:11
退会済みユーザー
2017/08/30 14:12
退会済みユーザー
2017/08/30 14:18
2017/08/30 15:10
退会済みユーザー
2017/08/31 04:13
退会済みユーザー
2017/09/04 11:47
2017/09/04 12:11
退会済みユーザー
2017/09/04 12:43 編集
2017/09/04 13:42
退会済みユーザー
2017/09/08 11:06
2017/09/08 11:38
退会済みユーザー
2017/09/08 11:59
2017/09/08 12:11
退会済みユーザー
2017/09/08 12:26
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。