android openOrCreateDatabase 操作数据库
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 每个程序都有自己的数据库
// 通过openOrCreateDatabase来打开或创建一个数据库,返回SQLiteDatabase对象
/**
* openOrCreateDatabase(String name,int
* mode,SQLiteDatabase.CursorFactory factory) name: 数据库名 mode:
* 数据库权限,MODE_PRIVATE为本应用程序私有
* ,MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE分别为全局可读和可写。 factory:
* 可以用来实例化一个cusor对象的工厂类
*/
SQLiteDatabase db = openOrCreateDatabase("user.db", MODE_PRIVATE, null);
// 创建一个表
db.execSQL("create table if not exists userTb ("
+ "_id integer primary key,"
+ "name text not null,age integer not null,"
+ "sex text not null)");
// 向表中插入记录
db.execSQL("insert into userTb (name,age,sex) values ('张三',18,'女')");
db.execSQL("insert into userTb (name,age,sex) values ('李四',19,'男')");
db.execSQL("insert into userTb (name,age,sex) values ('王五',20,'女')");
// Cursor为查询结果对象,类似于JDBC中的ResultSet
Cursor queryResult = db.rawQuery("select * from userTb", null);
if (queryResult != null) {
while (queryResult.moveToNext()) {
Log.i("info",
"id: "
+ queryResult.getInt(queryResult
.getColumnIndex("_id"))
+ " 姓名: "
+ queryResult.getString(queryResult
.getColumnIndex("name"))
+ " 年龄: "
+ queryResult.getInt(queryResult
.getColumnIndex("age"))
+ " 性别: "
+ queryResult.getString(queryResult
.getColumnIndex("sex")));
}
// 关闭游标对象
queryResult.close();
}
// 关闭数据库
db.close();
}
}
05-04 10:51:08.237: I/info(5753): id: 1 姓名: 张三 年龄: 18 性别: 女
05-04 10:51:08.237: I/info(5753): id: 2 姓名: 李四 年龄: 19 性别: 男
05-04 10:51:08.237: I/info(5753): id: 3 姓名: 王五 年龄: 20 性别: 女