我的需求是:程序第一次运行时创建数据库,以后再启动时就不用创建了,请问这该如何实现呢?
请指点,谢谢!
[code="java"]package com.cayden.service;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String NAME="cayden.db";
private static final int version=1;
public DatabaseHelper(Context context) {
super(context, NAME, null, version);
// TODO Auto-generated constructor stub
}
public DatabaseHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE person (personid integer primary key autoincrement," +
"name varchar(20),age integer )");
}
@Override
public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE if exists person");
onCreate(db);
}
}[/code] 你用到这了吗?
我用的是sqlite.写的类是DatabaseHelper extends SQLiteOpenHelper 继承SQLiteOpenHelper 内含创建方法,我每次运行也没有自动创建,并且数据一直保留着.你可以在 onCreate 方法里面先判断数据库文件是否存在,若存在就不要再创建了.