私の大学の最終プロジェクトをやっていて、私は奇妙なエラーが発生しています。 のEclipseでは、すべてがOKですが、私はプログラムを実行すると、データベースアダプタプログラムがクラッシュして、この機能にアクセスしようとすると述べている:Public Cursor getAllエラーAndroid
ではなく、私はちょうどこのように置けば、プログラムが正常に実行されます。
public Cursor getAllProjectsCursor() {
return db.query(DATABASE_TABLE,
new String[] {
KEY_ID,
KEY_PROJ_NAME
},
null,
null,
null,
null,
null);
}
すべての列の値を渡したいと思います。すべての建物は良好だと思います。すべての列で同じです。
私を助けることができますか?デバッグで
それがいることを言う:私は私のコードで
INFO/Database(677): sqlite returned: error code = 1, msg = no such column: beg_date
:
public class PMDBAdapter {
private static final String DATABASE_NAME = "PocketManager.db";
private static final String DATABASE_TABLE = "Projects";
private static final int DATABASE_VERSION = 1;
private SQLiteDatabase db;
public static final String KEY_ID = "_id";
public static final String KEY_PROJ_NAME = "proj_name";
public static final int PROJ_NAME_COLUMN = 2;
public static final String KEY_AREA = "proj_area";
public static final int AREA_COLUMN = 3;
public static final String KEY_BEG_DATE = "beg_date";
public static final int BEG_DATE_COLUMN = 4;
public static final String KEY_END_DATE = "end_date";
public static final int END_DATE_COLUMN = 5;
public static final String KEY_PERC = "perc";
public static final int PERC_COLUMN = 6;
private final Context context;
private ProjDBOpenHelper dbHelper;
と:
private static final String DATABASE_CREATE = "create table " +
DATABASE_TABLE + " (" + KEY_ID + " integer primary key autoincrement, "
+ KEY_PROJ_NAME + " text not null, "
+ KEY_AREA + "text not null, "
+ KEY_BEG_DATE + "long, "
+ KEY_END_DATE + "long, "
+ KEY_PERC + " integer);";
クラッシュ中にエラーの 'logcat'出力を提供できますか? –
また、あなたのためにクラッシュするコードの部分に 'KEY_PROJ_NAME'と' KEY_BEG_DATE'の間にカンマがありませんか? –
'' KEY_BEG_DATE'と 'KEY_END_DATE'に' 'long、' 'の前にスペースがありません。 これらの文字列を '' long、 ''に変更します。なぜなら、それらの列は '' beg_datelong ''と' 'end_datelong" 'という名前になっているからです。これは 'KEY_AREA'の場合もそうですが、' text not nullの前に空白を入れてください '、 ''それも! –