Android:SQLite的使用(一)

来源:互联网 发布:智能网络机器人 编辑:程序博客网 时间:2024/06/07 04:48

今天讲的是关于SQLite的使用:
包括:
1.创建数据库;
2.创建表;
3.插入数据;
4.修改数据;
5.删除数据;
6.查询数据;

直接附上代码(注释附在代码里):

MainActivity.java:

@Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //创建数据库stu.db;        SQLiteDatabase db = openOrCreateDatabase("stu.db",MODE_PRIVATE,null);        //创建表;        db.execSQL("create table if not exists stutb(_id integer primary key autoincrement ,name text not null,sex text not null,age integer not null)");        //创建ContentValues对象,该对象是键值对存储,Key为表的字段,Values为值;        ContentValues values = new ContentValues();        //类似HashMap,键值对存储,使用put插入;        values.put("name","张三");        values.put("sex","男");        values.put("age",15);        //向表中插入数据,返回值类型是long插入的索引值,第一个参数是表的名字,        // 第二个我设为null,第三个就是ContentValues的对象;        long rowId = db.insert("stutb",null,values);        Log.i("info","rowId = "+rowId);        //清空ContentValues对象中的值,为下次使用做准备;        values.clear();        //以下插入多条数据;        values.put("name","李四");        values.put("sex","男");        values.put("age",19);        db.insert("stutb",null,values);        values.clear();        values.put("name","王五");        values.put("sex","男");        values.put("age",17);        db.insert("stutb",null,values);        values.clear();        values.put("name","赵六");        values.put("sex","男");        values.put("age",29);        db.insert("stutb",null,values);        values.clear();        values.put("name","林琳七");        values.put("sex","女");        values.put("age",19);        db.insert("stutb",null,values);        values.clear();        //修改,将所有id小于3的性别改成“女”;        values.put("sex","女");        db.update("stutb",values,"_id<?",new String[]{"3"});        //删除;将名字包含“王”的行删去,其中%为占位符;        db.delete("stutb","name like ?",new String[]{"%王%"});        //查询,返回值是Cursor的对象,即一个游标;        //第一个参数是表名字,第二个我设置为空,第三个和第四个查询条件,最后一个是按"_id"字段排序;        Cursor cursor = db.query("stutb",null,"_id>?",new String[]{"0"},null,null,"_id");        if (cursor!=null){            //获取cursor的索引值,即所有的字段;            String[] columnNames = cursor.getColumnNames();            while (cursor.moveToNext()){                //遍历获取到表的每个字段的值                for(String columnName:columnNames){                    Log.i("info",cursor.getString(cursor.getColumnIndex(columnName)));                }            }            //关闭游标;            cursor.close();        }        //关闭数据库;        db.close();    }

以下是源码(百度网盘,Android studio编写):

http://pan.baidu.com/s/1pJ7fc51

0 0
原创粉丝点击