我已经看到了很多关于stackoverflow的问题,但没有一个解决方案可以工作。 我想在创建时只在数据库中添加1行,并且该应用程序所做的唯一事情是使用新值更新此行。Android:在数据库创建时只在数据库中插入一行
我已经尝试在SQLiteOpenHelper类中编写INSERT语句,但它不起作用。没有行被插入。
代码:
public class db_manager extends SQLiteOpenHelper{
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "tally.db";
private static final String TABLE_TALLY = "tally";
private static final String COLUMN_ID = "_id";
private static final String COLUMN_VALUE = "value";
public db_manager(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, DATABASE_NAME, factory, DATABASE_VERSION);
}
public void onCreate(SQLiteDatabase db) {
String query = "CREATE TABLE " + TABLE_TALLY + "(" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_VALUE + " TEXT " +
");";
db.execSQL(query);
db.execSQL("INSERT INTO tally(value) VALUES (100)");
}
但是,如果我尝试使用我的SQLiteOpenHelper类中声明该行已成功插入的方法插入来自MainActivity类别行,但我每次运行时添加一个新行应用..
代码:
// In mainActivity
DM = new db_manager(this,null,null,1);
DM.WriteFirst(10);
//In SQLiteOpenHelper class
public void WriteFirst(int value){
ContentValues values = new ContentValues();
values.put(COLUMN_VALUE, value);
SQLiteDatabase db = getWritableDatabase();
db.insert(TABLE_TALLY, null, values);
db.close();
}
我要插入的行只有一次。
INSERT语句有效,但您必须确保调用了“onCreate”。 –