您的位置:首页 > 移动开发 > Android开发

Android操作SQLite数据库基本模式

2015-07-25 19:59 453 查看
import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

class Person {
private String name;
private int age;
}

//数据库线程类
class DatabaseRunnable implements Runnable {

@Override
public void run() {

// 打开或创建test.db数据库
SQLiteDatabase db = openOrCreateDatabase("test.db",
Context.MODE_PRIVATE, null);
db.execSQL("DROP TABLE IF EXISTS person");
// 创建person表
db.execSQL("CREATE TABLE person (_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age SMALLINT)");
Person person = new Person();
person.name = "john";
person.age = 30;
// 插入数据
db.execSQL("INSERT INTO person VALUES (NULL, ?, ?)", new Object[] {
person.name, person.age });

person.name = "david";
person.age = 33;

// ContentValues以键值对的形式存放数据
ContentValues cv = new ContentValues();
cv.put("name", person.name);
cv.put("age", person.age);
// 插入ContentValues中的数据
db.insert("person", null, cv);

cv = new ContentValues();
cv.put("age", 35);
// 更新数据
db.update("person", cv, "name = ?", new String[] { "john" });

Cursor c = db.rawQuery("SELECT * FROM person WHERE age >= ?",
new String[] { "33" });
while (c.moveToNext()) {
int _id = c.getInt(c.getColumnIndex("_id"));
String name = c.getString(c.getColumnIndex("name"));
int age = c.getInt(c.getColumnIndex("age"));
Log.d("db", "_id=>" + _id + ", name=>" + name + ", age=>" + age);
}
c.close();

// 删除数据
db.delete("person", "age < ?", new String[] { "35" });

// 关闭当前数据库
db.close();

// 删除test.db数据库
deleteDatabase("test.db");

}

}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//初始化线程
Thread t = new Thread(new DatabaseRunnable());
t.start();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 android sqlite