0

アプリケーションでデータベースを作成し、そのテーブルに値を挿入しようとしました。しかし、次のエラーを受け取りました。

 android.database.sqlite.SQLiteException: table income has no column named recurrence: , while compiling: INSERT INTO income(recurrence, salary, description) VALUES(?, ?, ?);

私のコードは次のとおりです。

データベースの作成:

"create table income(_id integer primary key autoincrement,"+"salary text not null,description text not null,"+"recurrence text not null);";

私の挿入クエリ:

public long insertTitle(String income, String desc,String recurr)
{
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_INCOME, income);
initialValues.put(KEY_DESC, desc);
initialValues.put(KEY_RECURR, recurr);
//initialValues.put(KEY_PUBLISHER, publisher);
return db.insert(DATABASE_TABLE, null, initialValues);
}
4

3 に答える 3

0

どこが間違っているのか正確にはわかりませんが、 を使用してデータベースを確認することをお勧めしますadb。次の手順を使用します。

  1. コマンドプロンプトを開く
  2. Android sdk フォルダー -> プラットフォーム ツールに移動します。
  3. adb -e shell
  4. cd data/data/your.package.name/databases
  5. sqlite3 YOUR_DATABASE.db
  6. 今実行.tablesまたは.schema incomeコマンド
    OR select * from income;

テーブルが作成されているかどうかがわかります。

ダミーの挿入コマンドを記述して、正しく機能しているかどうかを確認することもできます。

Insert into income values(1,"salary","desc","rec");
于 2012-07-03T12:46:17.520 に答える
0

Android デバイスからデータベースをクリアしてみてください。アプリケーションが新しいデータベースを上書きせず、古いデータベースを使用している可能性があります。これがこのエラーの原因である可能性があります。

于 2012-07-03T12:38:47.720 に答える
0

「+」記号がありませんでした:

これを入れて試してください:

"create table income(_id integer primary key autoincrement,"+"salary text not null,"+"description text not null,"+"recurrence text not null);";

また、実行する前にアプリケーションのデータを消去することを忘れないでください。

于 2012-07-03T13:11:47.570 に答える