0

メソッドを作成しました

public boolean addWord(Word w, String name) {
    try {
        ContentValues cv = new ContentValues();
        cv.put(COLUMN_NAME, name);
        cv.put(COLUMN_WORD_FOREIGN, w.getWordForeign());
        cv.put(COLUMN_WORD_ENGLISH, w.getWordEnglish());
        cv.put(COLUMN_CORRECT, w.getCorrect());
        database.insert(TABLE_VOCAB_WORDS, null, cv);
        return true;
    } catch (SQLiteException e) {
        System.out.println("SQL ERROR");
        return false;
    }
}

しかし、それを呼び出すと、テーブルが見つからないというエラーが発生します。ただし、データベースの作成に使用するSQLステートメントは次のとおりです。

private static final String CREATE_DB = "CREATE TABLE " + TABLE_VOCAB_INFO
        + "(" + COLUMN_NAME + " TEXT NOT NULL PRIMARY KEY," + COLUMN_URL
        + " TEXT NOT NULL," + COLUMN_DOWNLOADED
        + " TEXT NOT NULL); CREATE TABLE " + TABLE_VOCAB_WORDS + "("
        + COLUMN_NAME + " TEXT NOT NULL," + COLUMN_WORD_FOREIGN
        + " TEXT NOT NULL," + COLUMN_WORD_ENGLISH + " TEXT NOT NULL,"
        + COLUMN_CORRECT + " BYTE NOT NULL, PRIMARY KEY (" + COLUMN_NAME
        + "," + COLUMN_WORD_FOREIGN + "));";

テーブルを明確に作成しているので、ここで実際にどのようなエラーが発生しているのかよくわかりません。

助言がありますか?

4

1 に答える 1

3

これが機能しない理由は、;この文字は許可されていないと思います。したがって、2つに分けてそれを実行してみてくださいStrings

String create_vocal_table_info_query = "CREATE TABLE " + TABLE_VOCAB_INFO
        + "(" + COLUMN_NAME + " TEXT NOT NULL PRIMARY KEY,"
        + COLUMN_URL + " TEXT NOT NULL,"
        + COLUMN_DOWNLOADED + " TEXT NOT NULL)";

String create_vocal_table_words_query = "CREATE TABLE " + TABLE_VOCAB_WORDS + "("
        + COLUMN_NAME + " TEXT NOT NULL,"
        + COLUMN_WORD_FOREIGN + " TEXT NOT NULL,"
        + COLUMN_WORD_ENGLISH + " TEXT NOT NULL,"
        + COLUMN_CORRECT + " BYTE NOT NULL, PRIMARY KEY ("
        + COLUMN_NAME + "," + COLUMN_WORD_FOREIGN + "))";
于 2013-02-11T17:57:17.813 に答える