0

私はアンドロイドの初心者で、データベースを作成しようとしています。1 つのテーブルと 3 つの関数 add 、 delete 、 update 、および retrieve を使用します。

データベースにアイテムを挿入すると、主キーには毎回インクリメントされる数値が与えられます..しかし、それはデータベースに null として挿入されます!

したがって、IDが必要なため、レコードを更新および削除できませんでした。検索の場合、IDがnullであることを除いて、出力は正常に機能します。

ここにスキーマがあります

private static final int DATABASE_VERSION = 2;
private static final String DATABASE_NAME= "alarmapp"; 
private static final String CREATE_alarm= "CREATE TABLE alarm" +
        " (Aid integer  PRIMARY KEY NOT NULL AUTOINCREMENT," +
        "message varchar(100)," +
        "date varchar(100));";

挿入コードは次のとおりです。

// columns 
private static final String AI = "Aid";
private static final String Message= "message";
private static final String Date = "date";

// tables
private static final String TABLE_NAME= "alarm";

private Context context;
private DatabaseHelper dbhelper;
private SQLiteDatabase database;

public long add( String message, String date) {
    ContentValues values= new ContentValues();

    values.put(Message,message);
    values.put(Date, date);

    return database.insert(TABLE_NAME, null,values);
}
4

1 に答える 1

4

次のリンクをチェックしてください: http://www.androidph.com/2012/01/android-sqlite-primary-key-auto.html

于 2013-02-10T14:34:01.227 に答える