使用内置函数操作数据库
Posted moonlight.ml
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用内置函数操作数据库相关的知识,希望对你有一定的参考价值。
0.视频:http://www.imooc.com/video/3383
1.笔记:
ContentValues:
1)用于存储一组可以被ContentResolve处理的值;
2)代码示例:
ContentValues values=new ContentValues();//类似hashMap key value values.put("name", "张三");
3)执行对应的Sql操作:
db.update("stutb", values,"_id>?", new String[]{"3"});//将全部id>3的人的性别改成女 db.delete("stutb", "name like ?",new String[]{"%丰%"});//删除所有名字中带有丰的人
2.完整代码:
1 import android.os.Bundle; 2 import android.app.Activity; 3 import android.content.ContentValues; 4 import android.database.Cursor; 5 import android.database.sqlite.SQLiteDatabase; 6 import android.util.Log; 7 import android.view.Menu; 8 9 public class MainActivity extends Activity { 10 11 @Override 12 protected void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 setContentView(R.layout.activity_main); 15 16 SQLiteDatabase db=openOrCreateDatabase("stu.db",MODE_PRIVATE,null); 17 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)"); 18 //使用内置函数操作数据库 19 ContentValues values=new ContentValues();//类似hashMap key value 20 values.put("name", "张三"); 21 values.put("sex", "男"); 22 values.put("age", 12); 23 long rowId=db.insert("stutb", null, values); 24 values.clear(); 25 values.put("name", "张三丰"); 26 values.put("sex", "男"); 27 values.put("age", 22); 28 db.insert("stutb", null, values); 29 values.clear(); 30 values.put("name", "张三丰"); 31 values.put("sex", "男"); 32 values.put("age", 32); 33 db.insert("stutb", null, values); 34 values.clear(); 35 values.put("name", "张三封"); 36 values.put("sex", "男"); 37 values.put("age", 42); 38 db.insert("stutb", null, values); 39 values.clear(); 40 values.put("name", "张三封"); 41 values.put("sex", "男"); 42 values.put("age", 52); 43 db.insert("stutb", null, values); 44 values.clear(); 45 values.put("sex", "女"); 46 db.update("stutb", values,"_id>?", new String[]{"3"});//将全部id>3的人的性别改成女 47 db.delete("stutb", "name like ?",new String[]{"%丰%"});//删除所有名字中带有丰的人 48 //查询结果集合 49 Cursor c=db.query("stutb",null, "_id>?",new String[]{"0"},null, null, "name"); 50 if(c!=null){ 51 String [] columns=c.getColumnNames(); 52 while(c.moveToNext()){ 53 for(String columnName:columns){ 54 Log.i("info",c.getString(c.getColumnIndex(columnName))); 55 } 56 } 57 c.close(); 58 } 59 db.close(); 60 } 61 }
3.运行结果:
4.遇到问题:数据库语句不准确导致程序运行不成功;log重复打印了。
以上是关于使用内置函数操作数据库的主要内容,如果未能解决你的问题,请参考以下文章