我们今天的第二个内容是使用Android的API完成Sqlite数据库的增删改查。不多说,注释得很清楚。
package com.example.datasave4;
import com.example.datasave.Utils.ToastUtil;
import android.app.Activity;
import android.content.ContentValues;
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;
/**
* @author Squid
*使用Android的API完成Sqlite数据库的增删改查
*/
public class SecandActivity extends Activity {
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_secand);
db=SQLiteDatabase.openOrCreateDatabase(getFilesDir()+"my.db", null);
/*String sql="create table tbl_squid(_id integer primary key autoincrement,name text,password varchar(10))";
db.execSQL(sql);
ToastUtil.showToast(this, "建表成功");*/
//添加数据
insertData();
ToastUtil.showToast(this, "插入成功");
//查询数据
queryData();
ToastUtil.showToast(this, "查询成功");
//修改数据
updatedata();
ToastUtil.showToast(this, "更新成功");
/*//删除数据
deleteData();
ToastUtil.showToast(this, "删除成功");*/
}
//插入成功
private void insertData() {
// TODO Auto-generated method stub
/*
* 第一个参数:表名
* 第二个参数:字段的值永远为空值
* 第三个参数:ContentValues对象
*/
ContentValues values=new ContentValues();
values.put("name", "squid111");
values.put("password", "squid111");
db.insert("tbl_squid", null,values);
}
//查询数据
private void queryData() {
/*
* 第一个参数:是否去除重复的值
* 第二个参数:表名
* 第三个参数:要查询的字段名 类似select id,name。。。
* 第四个参数:查询条件 类似where name=?
* 第五个参数:占位符的值
* 第六个参数:分组查询
* 第七个参数:组函数的过滤
* 第八个参数:按照指定的顺序排列显示数据 _id desc 降序 asc升序
* 第九个参数:分页处理 “5,10”第五条到第十条
*/
Cursor cursor=db.query(false, "tbl_squid", null, null, null, null, null, "_id asc", null);
while(cursor.moveToNext()){
int id=cursor.getInt(cursor.getColumnIndex("_id"));
String name=cursor.getString(cursor.getColumnIndex("name"));
String password=cursor.getString(cursor.getColumnIndex("password"));
Log.i("SecandActivity", id+" "+name+" "+password);
}
}
//修改数据
private void updatedata() {
/*
* 第一个参数:表名
* 第二个参数:ContentValues的值
* 第三个参数:查询条件
* 第四个参数:查询占位符的值
*/
ContentValues values=new ContentValues();
values.put("name", "squid22222");
values.put("password", "squid22222");
db.update("tbl_squid", values, "_id=?", new String[]{"1"});
}
//删除数据
private void deleteData() {
db.delete("tbl_squid", "_id=?", new String[]{"1"});
}
}