zoukankan      html  css  js  c++  java
  • SQLite 数据库增删改查

    布局:

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout
     3     xmlns:android="http://schemas.android.com/apk/res/android"
     4     xmlns:app="http://schemas.android.com/apk/res-auto"
     5     xmlns:tools="http://schemas.android.com/tools"
     6     android:layout_width="match_parent"
     7     android:layout_height="match_parent"
     8     android:orientation="vertical"
     9     tools:context="net.bwie.localdata.MainActivity">
    10 
    11     <Button
    12         android:id="@+id/insert_btn"
    13         android:layout_width="wrap_content"
    14         android:layout_height="wrap_content"
    15         android:text="插入"/>
    16 
    17     <Button
    18         android:id="@+id/delete_btn"
    19         android:layout_width="wrap_content"
    20         android:layout_height="wrap_content"
    21         android:text="删除"/>
    22 
    23     <Button
    24         android:id="@+id/update_btn"
    25         android:layout_width="wrap_content"
    26         android:layout_height="wrap_content"
    27         android:text="修改"/>
    28     <Button
    29         android:id="@+id/query_btn"
    30         android:layout_width="wrap_content"
    31         android:layout_height="wrap_content"
    32         android:text="查询"/>
    33 
    34 
    35 </LinearLayout>

    Activivy:

      1 public class MainActivity extends AppCompatActivity implements View.OnClickListener {
      2 
      3     protected Button mInsertBtn;
      4     protected Button mDeleteBtn;
      5     protected Button mUpdateBtn;
      6     protected Button mQueryBtn;
      7     private DBHelper mHelper;
      8     private SQLiteDatabase mDatabase;
      9 
     10     @Override
     11     protected void onCreate(Bundle savedInstanceState) {
     12         super.onCreate(savedInstanceState);
     13         super.setContentView(R.layout.activity_main);
     14         initView();
     15 
     16         mHelper = new DBHelper(this);
     17         mDatabase = mHelper.getWritableDatabase();
     18     }
     19 
     20 
     21     private void initView() {
     22         mInsertBtn = (Button) findViewById(R.id.insert_btn);
     23         mInsertBtn.setOnClickListener(MainActivity.this);
     24         mDeleteBtn = (Button) findViewById(R.id.delete_btn);
     25         mDeleteBtn.setOnClickListener(MainActivity.this);
     26         mUpdateBtn = (Button) findViewById(R.id.update_btn);
     27         mUpdateBtn.setOnClickListener(MainActivity.this);
     28         mQueryBtn = (Button) findViewById(R.id.query_btn);
     29         mQueryBtn.setOnClickListener(MainActivity.this);
     30     }
     31 
     32     @Override
     33     public void onClick(View view) {
     34         if (view.getId() == R.id.insert_btn) {
     35             insertData();
     36         } else if (view.getId() == R.id.delete_btn) {
     37             deleteData();
     38         } else if (view.getId() == R.id.update_btn) {
     39             updateData();
     40         } else if (view.getId() == R.id.query_btn) {
     41             queryData();
     42         }
     43     }
     44 
     45     // 表名
     46     // null。数据库如果插入的数据为null,会引起数据库不稳定。为了防止崩溃,需要传入第二个参数要求的对象
     47     // 如果插入的数据不为null,没有必要传入第二个参数避免崩溃,所以为null
     48     // 插入的数据
     49     private void insertData() {
     50         ContentValues values = new ContentValues();
     51         values.put(DBHelper.NAME, "鹿晗");
     52         values.put(DBHelper.AGE, 17);
     53         mDatabase.insert(DBHelper.TABLE_NAME, null, values);
     54         Toast.makeText(this, "插入成功", Toast.LENGTH_SHORT).show();
     55     }
     56 
     57     // 表名
     58     // 删除条件
     59     // 满足删除的值
     60     private void deleteData() {
     61         int count = mDatabase.delete(DBHelper.TABLE_NAME, DBHelper.NAME + " = ?", new String[]{"鹿晗"});
     62         Toast.makeText(this, "删除数量:"+count, Toast.LENGTH_SHORT).show();
     63     }
     64 
     65     // 表名
     66     // 修改后的数据
     67     // 修改条件
     68     // 满足修改的值
     69     private void updateData() {
     70         ContentValues values = new ContentValues();
     71         values.put(DBHelper.NAME, "小茗同学");
     72         values.put(DBHelper.AGE, 18);
     73         int count = mDatabase
     74                 .update(DBHelper.TABLE_NAME, values, DBHelper.NAME + " = ?", new String[]{"鹿晗"});
     75         Toast.makeText(this, "修改成功:" + count, Toast.LENGTH_SHORT).show();
     76     }
     77 
     78     // 表名
     79     // 查询字段
     80     // 查询条件
     81     // 满足查询的值
     82     // 分组
     83     // 分组筛选关键字
     84     // 排序
     85     private void queryData() {
     86         Cursor cursor = mDatabase.query(DBHelper.TABLE_NAME,
     87                 new String[]{DBHelper.NAME, DBHelper.AGE},
     88                 DBHelper.AGE + " > ?",
     89                 new String[]{"16"},
     90                 null,
     91                 null,
     92                 DBHelper.AGE + " desc");// 注意空格!
     93 
     94         int nameIndex = cursor.getColumnIndex(DBHelper.NAME);
     95         int ageIndex = cursor.getColumnIndex(DBHelper.AGE);
     96         while (cursor.moveToNext()) {
     97             String name = cursor.getString(nameIndex);
     98             String age = cursor.getString(ageIndex);
     99 
    100             Log.d("1507", "name: " + name + ", age: " + age);
    101         }
    102 
    103     }
    104 
    105 }

    创建数据库:

     1 public class DBHelper extends SQLiteOpenHelper {
     2 
     3     // 数据库文件名
     4     public static final String DB_NAME = "my_database.db";
     5     // 数据库表名
     6     public static final String TABLE_NAME = "t_person";
     7     // 数据库版本号
     8     public static final int DB_VERSION = 1;
     9 
    10     public static final String NAME = "name";
    11     public static final String AGE = "age";
    12 
    13     public DBHelper(Context context) {
    14         super(context, DB_NAME, null, DB_VERSION);
    15     }
    16 
    17     // 当数据库文件创建时,执行初始化操作,并且只执行一次
    18     @Override
    19     public void onCreate(SQLiteDatabase db) {
    20         // 建表
    21         String sql = "create table " +
    22                 TABLE_NAME +
    23                 "(_id integer primary key autoincrement, " +
    24                 NAME + " varchar, " +
    25                 AGE + " varchar"
    26                 + ")";
    27 
    28         db.execSQL(sql);
    29     }
    30 
    31     // 当数据库版本更新执行该方法
    32     @Override
    33     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    34 
    35     }
    36 }
  • 相关阅读:
    windows下Yarn安装与使用(两种方法)
    git配置公钥---解决码云出现git@gitee.com: Permission denied (publickey)
    npm使用国内镜像的两种方法
    【LeetCode】33. Search in Rotated Sorted Array (4 solutions)
    【LeetCode】83. Remove Duplicates from Sorted List
    【LeetCode】82. Remove Duplicates from Sorted List II
    【LeetCode】85. Maximal Rectangle
    【LeetCode】84. Largest Rectangle in Histogram
    【LeetCode】87. Scramble String
    【LeetCode】162. Find Peak Element (3 solutions)
  • 原文地址:https://www.cnblogs.com/SongYongQian/p/7879579.html
Copyright © 2011-2022 走看看