02-19 16:46:01.677:e/androidruntime(13159):android.database.sqlite.sqliteexception:そのような表:ノート:ノート

StackOverflow https://stackoverflow.com/questions/9350686

質問

1つのテーブルにアクセスしようとすると、このエラーが発生しています。

02-19 16:46:01.677:e/androidruntime(13159):android.database.sqlite.sqliteException:そのような表:ノート:メモに挿入(ユーザー、テキスト)値( 'john'、 'testingValue' '

しかし、私はテーブルを作成しました!データベースに2つのテーブル(「ユーザー」と「メモ」)があり、同じ方法でアクセスしますが、テーブル「メモ」に値を挿入しようとすると、そのエラーがあります。

それがコードです:

package com.loopr;

import android.content.Context; 
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class SQL extends SQLiteOpenHelper {

    String createUserTable = "CREATE TABLE users (name TEXT)";
    String createNotesTable = "CREATE TABLE notes (user TEXT, text TEXT)";

    public SQL(Context context, String name, CursorFactory factory, int version) {
        super(context, name, factory, version);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(createNotesTable);
        db.execSQL(createUserTable);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int before, int after) {
        //Nothing at the moment
    }

}

私に何ができる?ありがとう。

役に立ちましたか?

解決

変更してみてください int version そして、これをあなたに入れてください onUpgrade 過剰な方法:

// Drop the old table.
db.execSQL("DROP TABLE IF EXISTS notes");

// Create a new one.
onCreate(db);

他のヒント

何ができますか? Androidでデバッグすることを学びます。で資料を読んでください このリンク. 。 DDMSのファイルエクスプローラーを使用して、エミュレータからデータベースを引く方法を把握します。 SQLite Manager(Firefox)のようなツールを入手して、これらのデータベースを調べてください - それは私を非常に助けてくれました。また、SQLite Managerを使用してDBでRAW SQLステートメントを実行して、SQLを作成してテストすることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top