zoukankan      html  css  js  c++  java
  • Android中SQLite数据库操作(2)——使用SQLiteDatabase提供的方法操作数据库

    如果开发者对SQL语法不熟,甚至以前从未使用过任何数据库,Android的SQLiteDatabase提供了insert、update、delete或query语句来操作数据库。

    一、insert方法

    long insert(String table, String nullColumnHack, ContentValues values)

    table: 代表要插入到的数据表
    nullColumnHack: 代表强行插入null值的数据列的列名,当values参数为null,或者不包含任何key_value键值对时该参数有些。
    values: 代表一行记录的数据

    insert方法插入一条记录使用ContentValue对象封装,ContentValue类似于Map,它提供了put(String key, Object value)方法及getAsXxx(String key)方法。

    		//创建或打开数据库
    		db = SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString() 
    				+ "/my.db", null);
    		//创建数据表
    		db.execSQL("create table news_inf(_id integer" +  
                    " primary key autoincrement," +  
                    " news_title varchar(50)," +  
                    " news_content varchar(255))");
    		
    		//插入数据
    		ContentValues values = new ContentValues();
    		values.put("news_title", "title1");
    		values.put("news_content", "content1");
    		db.insert("news_inf", null, values);

    二、update方法

    update(String table, ContentValues values, String whereClause, String[] whereArgs)

    table: 代表要更新的表
    values: 代表想要更新的数据
    whereClause: 满足该whereClause子句的记录将会被更新
    whereArgs: 用于为whereClause子句传入参数

    该方法返回受此update语句影响的记录条数。

    例如:更新上表中_id > 2的 news_title的值。

    		//更新记录
    		ContentValues values2 = new ContentValues();
    		values2.put("news_title", "title1_update");
    		db.update("news_inf", values2, "_id > ?", new String[]{"2"});

    三、delete方法

    delete(String table, String whereClause, String[] whereArgs)

    tables: 代表要删除的表名
    whereClause: 满足该whereClause子句的记录将会被删除
    whereArgs:用于为whereClause子句传入参数

    该方法返回受此delete子句影响的记录的条数。

    同update的使用相同

    四、query方法

    query(boolean distinct, String table, String[] columns, String whereClause, String[] selectionArgs, String groupBy, Sttring having, String orderBy, String limit)

    distinct: 指定是否去除重复记录
    table: 查询数据的表名
    columns: 要查询的列名
    whereClause: 条件查询
    whereArgs:条件查询的参数
    groupBy: 控制分组
    having: 分组过滤
    orderBy: 排序
    limit: 进行分页

    Cursor cursor = db.query("news_inf", new String[]{"news_content, news_title"}, null, null, null, null, null);
    		while(cursor.moveToNext()){
    			Toast.makeText(this, cursor.getString(1), 2000).show();
    		}
    		cursor.close();




  • 相关阅读:
    AC自动机
    概率DP
    POJ 1637 Sightseeing tour(混合图的欧拉回路)
    POJ 3233 Matrix Power Series(矩阵等比求和)
    HDU 2243 考研路茫茫——单词情结(AC自动机+DP+快速幂)
    HDU 3032 Nim or not Nim?(sg函数)
    HDU 3038 How Many Answers Are Wrong(种类并查集)
    HDU 4686 Arc of Dream(快速幂矩阵)
    HDU 3306 Another kind of Fibonacci(快速幂矩阵)
    HDU 3308 LCIS(线段树)
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469459.html
Copyright © 2011-2022 走看看