发布网友 发布时间:2022-04-21 02:41
共1个回答
热心网友 时间:2022-04-07 18:26
1.打开数据库Context类的openDatabase可以打开一个已经存在的数据库,如果数据库不存在,将会抛出FileNotFoundException异常。可以通过Context类的createDatabase函数建立一个新的数据库。通过调用SQLiteDatabase 的execSQL方法,执行一条SQL语句建立一个新的数据表。代码如下:public DBHelper(Context ctx) {try {//打开已经存在的数据库db = ctx.openDatabase(DATABASE_NAME, null);} catch (FileNotFoundException e) {try {//建立新的数据库db = ctx.createDatabase(DATABASE_NAME, DATABASE_VERSION, 0, null);//建立数据表db.execSQL(DATABASE_CREATE);} catch (FileNotFoundException e1) {db = null;}}}2.获取表中的数据建立一个游标类Cursor 通过SQLiteDatabase 的query方法查询一个表格。有了Cursor就可以遍历所有的记录了。代码如下:public List<row> fetchAllRows() { ArrayList<row> ret = new ArrayList<row>();try {Cursor c =db.query(DATABASE_TABLE, new String[] {"rowid", "title", "body"}, null, null, null, null, null);int numRows = c.count();c.first();for (int i = 0; i < numRows; ++i) {Row row = new Row();row.rowId = c.getLong(0);row.title = c.getString(1);row.body = c.getString(2);ret.add(row);c.next();}} catch (SQLException e) {Log.e("booga", e.toString());}return ret;}</row></row></row>3.添加新的记录构造一个ContentValues类,通过调用put方法,可以设置一条记录的属性。通过调用SQLiteDatabase的insert方法添加一条新的记录。代码如下:public void createRow(String title, String body) {ContentValues initialValues = new ContentValues();initialValues.put("title", title);initialValues.put("body", body);db.insert(DATABASE_TABLE, null, initialValues);}4.删除记录直接调用SQLiteDatabase的delete方法,第二个参数是一个SQL条件表达式。代码如下:public void deleteRow(String str) {