zoukankan      html  css  js  c++  java
  • 使用内置函数操作数据库

    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 }
    View Code

    3.运行结果:

    4.遇到问题:数据库语句不准确导致程序运行不成功;log重复打印了。

  • 相关阅读:
    生日蜡烛
    生日蜡烛
    Angular2 and Electron
    NW.js and Electron compared
    Github发布了为桌面应用开发而生的Electron 1.0版本(HTML、CSS和JavaScript)
    哈佛——教育
    国家的强大——小学教师
    (OK)(OK) Fedora23——NS3(MANETs)——Docker(busybox)——genymotion(android)——All is OK
    (OK) ns3—genymotion—android
    android——adb shell——netcfg——get IP address
  • 原文地址:https://www.cnblogs.com/moonlightml/p/6383837.html
Copyright © 2011-2022 走看看