0
データベースを話しているものcatlog見つけることができない - 失敗1(近くに「テキスト」:シンタックスエラー)0x25c768に準備するとき...Android、SQLデータベースのエラー1構文エラー?およそ
これは、ときに私LogCatに表示エラーです私のアプリを実行しようとします。私は、データベースを設定する次のコードを持っています:
private static final String DATABASE_NAME = "recipesDB";
private static final String DATABASE_TABLE = "recipes";
private static int DATABASE_VERSION = 1;
public static final String KEY_NAME = "name";
public static final String KEY_TYPE = "type";
public static final String KEY_INGREDIENTS = "ingredients";
public static final String KEY_NOTES = "notes";
public static final String KEY_BOIL = "boil";
public static final String KEY_PRIMARY = "primary";
public static final String KEY_SECONDARY = "secondary";
public static final String KEY_ROWID = "_id";
private DatabaseHelper mDbHelper; // DatabaseHelper is an inner class extending SQLiteOpenHelper
private SQLiteDatabase mDb;
private static final String DATABASE_CREATE =
"create table " + DATABASE_TABLE + " ("
+ KEY_ROWID + " integer primary key autoincrement, "
+ KEY_INGREDIENTS + " text not null, "
+ KEY_NOTES + " text not null, "
+ KEY_BOIL + " text not null, "
+ KEY_PRIMARY + " text not null, "
+ KEY_SECONDARY + " text not null); ";
private final Context cntx;
public recipesDB(Context cnt){
this.cntx = cnt;
}
私はかなりコードと構文が良いと思われるので、私はこのエラーが表示されています。私は携帯電話でアプリケーションを実行し、activityListを開くボタンをクリックするとランタイムエラーが発生します。開いて、などにSQLExpection
をキャッチするコードは表示されません。
どのような提案がありますか?
それはありがとう! – Eric
それはありがとう!しかしもう1つの質問ですが、上のコードからわかるように、KEY_NAMEとKEY_TYPEをデータベーススクリプトに追加するのを忘れてしまいました。今私は自分の携帯電話でアプリケーションを実行すると、DDVMに「No such column:name」というエラーが表示されます。これは、データベースがすでに構築されており、coloumnsを追加できないためですか? – Eric
列を追加できますが、ALTER TABLE ...コマンドを使用して列を明示的に変更する必要があります。データベースのバージョンをインクリメントし、ALTER TABLEをonUpgrade ...メソッドに置くことで、ヘルパークラスでこれを行うことができます。 – antlersoft