SQLiteOpenHelper数据库的创建or升级or增删改查
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
// 数据库名称
private static final String DATABASE_NAME = "myDatabase.db";
// 数据库版本
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// 创建数据库时调用
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表和初始化数据
String sql = "CREATE TABLE IF NOT EXISTS myTable (" +
"id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"name TEXT, " +
"age INTEGER)";
db.execSQL(sql);
}
// 数据库版本更新时调用
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更新数据库表结构或者数据
// 这里简单地删除旧表并重新创建,实际应用中可能需要更精细的更新逻辑
db.execSQL("DROP TABLE IF EXISTS myTable");
onCreate(db);
}
// 增加记录
public void addRecord(String name, int age) {
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("INSERT INTO myTable (name, age) VALUES (?, ?)", new Object[]{name, age});
db.close();
}
// 删除记录
public void deleteRecord(int id) {
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("DELETE FROM myTable WHERE id = ?", new Object[]{id});
db.close();
}
// 更新记录
public void updateRecord(int id, String name, int age) {
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("UPDATE myTable SET name = ?, age = ? WHERE id = ?", new Object[]{name, age, id});
db.close();
}
// 查询记录
public Cursor queryRecord(int id) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM myTable WHERE id = ?", new String[]{String.valueOf(id)});
return cursor;
}
}
这个例子展示了如何使用SQLiteOpenHelper
创建或升级数据库,以及如何执行基本的增删改查操作。注意,实际应用中应该处理异常和资源管理(例如,确保关闭Cursor
和SQLiteDatabase
)。
评论已关闭