0

私は Android プログラミングの初心者で、sqlite データベースに挿入しようとしてこのエラーに直面しています。

sqlite が返されました: エラー コード =1、msg = テーブル MobileHouseVisit には、olderged_date_time 列がありません。

最初の 3 列については、さらにいくつかの列を追加するまで問題はありません。それが私がそれをコメントアウトする理由です。間隔を確認しましたが、すべて問題ないようです。私はそれについてグーグルで調べましたが、それでも助けがありませんでした。

以下は私のコードです

private static final String DATABASE_NAME = "silverCareMgt.db";
private static final String DATABASE_TABLE = "MobileHouseVisit";
private static final int DATABASE_VERSION = 1;
private SQLiteDatabase _db;
private final Context context;

public static final String MOBILE_HOUSE_VISIT_ID = "_id";
public static final int COLUMN_KEY_ID = 0;
public static final String ELDERLY_NAME = "elderly_name";
public static final int COLUMN_NAME_ID = 1;
public static final String ELDERLY_NRIC = "elderly_nric";
public static final int COLUMN_TEL_ID = 2;
public static final String ELDERLY_DATE_TIME = "elderly_date_time";
public static final int COLUMN_DT_ID = 3;
//public static final String PHYSICAL_HEALTH_STATUS ="physical_health";
//public static final int COLUMN_PHY_ID = 4;
//public static final String MENTAL_HEALTH_STATUS ="mental_health_status";
//public static final int COLUMN_MENTAL_ID = 5;

protected static final String DATABASE_CREATE = "create table " + DATABASE_TABLE +" ("+ 
                    MOBILE_HOUSE_VISIT_ID + " integer primary key autoincrement, "+
                    ELDERLY_NAME + " TEXT NOT NULL, "+
                    ELDERLY_NRIC + " TEXT NOT NULL, " +
                    ELDERLY_DATE_TIME + " TEXT NOT NULL);"; 
                    //+ PHYSICAL_HEALTH_STATUS + " TEXT, "
                    //+ MENTAL_HEALTH_STATUS + " TEXT);";
4

2 に答える 2

4

あなたの問題は、テーブルに列が作成されなかったときに最初にコードを実行したときだと思います。そのため、次にテーブルに列を追加したときに、db は再度作成されず、テーブルも作成されます。アプリケーションをアンインストールしてから、再度実行してください。データベースとテーブルが再度作成されます。

于 2012-08-01T11:46:29.043 に答える
0

アプリを初めて実行すると、データベースが作成されます。DBを変更する場合は、アプリを再インストールしてDBを再作成するか、DBonUpdgradeに加えられる変更を処理するメソッドを実装する必要があります

于 2012-08-01T11:49:40.707 に答える