zoukankan      html  css  js  c++  java
  • 数据库SQList 添加 查询 修改 删除

    SQListActivity

      1 package com.example.administrator.myapplication.database.Activity;
      2 
      3 import android.content.ContentValues;
      4 import android.database.Cursor;
      5 import android.database.sqlite.SQLiteDatabase;
      6 import android.os.Bundle;
      7 import android.support.v7.app.AppCompatActivity;
      8 import android.view.View;
      9 import android.widget.Button;
     10 import android.widget.EditText;
     11 import android.widget.Toast;
     12 
     13 import com.example.administrator.myapplication.R;
     14 import com.example.administrator.myapplication.database.MySQLiteOpenHelper;
     15 import com.example.administrator.myapplication.util.Common;
     16 
     17 public class SQLiteActivity extends AppCompatActivity {
     18     Button insertBtn;
     19     Button queryBtn;
     20     Button deleteBtn;
     21     Button updateBtn;
     22     EditText titleET;
     23     EditText deleteET;
     24     EditText updateET;
     25     String TitleReceiver;
     26     String deleteReceiver;
     27     String updateReceiver;
     28 
     29     @Override
     30     protected void onCreate(Bundle savedInstanceState) {
     31         super.onCreate(savedInstanceState);
     32         setContentView(R.layout.activity_sqlite);
     33         titleET = (EditText) findViewById(R.id.titleText);
     34         deleteET = (EditText) findViewById(R.id.deleteText);
     35         updateET = (EditText) findViewById(R.id.updateText);
     36         insertBtn = (Button) findViewById(R.id.insertData);
     37         insertBtn.setOnClickListener(new View.OnClickListener() {
     38             @Override
     39             public void onClick(View v) {
     40                 insertData();
     41             }
     42         });
     43         queryBtn = (Button) findViewById(R.id.queryData);
     44         queryBtn.setOnClickListener(new View.OnClickListener() {
     45             @Override
     46             public void onClick(View v) {
     47                 queryData();
     48             }
     49         });
     50         deleteBtn = (Button) findViewById(R.id.deleteData);
     51         deleteBtn.setOnClickListener(new View.OnClickListener() {
     52             @Override
     53             public void onClick(View v) {
     54                 deleteData();
     55             }
     56         });
     57         updateBtn = (Button) findViewById(R.id.updateData);
     58         updateBtn.setOnClickListener(new View.OnClickListener() {
     59             @Override
     60             public void onClick(View v) {
     61                 updateData();
     62             }
     63         });
     64     }
     65 
     66     //插入数据
     67     public void insertData(){
     68         TitleReceiver = titleET.getText().toString();
     69         //调用帮助类的构造函数,创建数据库
     70         MySQLiteOpenHelper mySQLiteOpenHelper = new MySQLiteOpenHelper(this);
     71         //调用帮助类的onCreate方法,创建表
     72         SQLiteDatabase sqLiteDatabase = mySQLiteOpenHelper.getWritableDatabase();
     73         //将保存的数据放入ContentValues中
     74         ContentValues contentValues = new ContentValues();
     75         contentValues.put(Common.NewsTable.TBL_TITLE,TitleReceiver);
     76         contentValues.put(Common.NewsTable.TBL_CONTENT,"内容");
     77         contentValues.put(Common.NewsTable.TBL_SRC,"图片");
     78         contentValues.put(Common.NewsTable.TBL_DATE,"日期");
     79         //调用insert方法,保存数据
     80         sqLiteDatabase.insert(Common.NewsTable.TBL_NAME,null,contentValues);
     81         //!!!数据库操作完成后,一定要关闭数据库
     82         sqLiteDatabase.close();
     83         Toast.makeText(getApplication(),"保存数据成功!",Toast.LENGTH_SHORT).show();
     84     }
     85     //查询数据
     86     public void queryData(){
     87         MySQLiteOpenHelper mySQLiteOpenHelper = new MySQLiteOpenHelper(this);
     88         SQLiteDatabase sqLiteDatabase = mySQLiteOpenHelper.getReadableDatabase();
     89         //调用SQLiteDatabase的Query方法,返回数据库查询的结果集
     90         Cursor cursor = sqLiteDatabase.query(
     91                 Common.NewsTable.TBL_NAME,
     92                 new String[]{Common.NewsTable.TBL_TITLE,Common.NewsTable.TBL_CONTENT,Common.NewsTable.TBL_SRC,Common.NewsTable.TBL_DATE},
     93                 null,null,null,null,null
     94         );
     95         //!!查询对应数据的时候,一定要现获取列的索引值
     96         while (cursor.moveToNext()){
     97             int titleIndex = cursor.getColumnIndex(Common.NewsTable.TBL_TITLE);
     98             String title = cursor.getString(titleIndex);
     99             Toast.makeText(getApplication(),title,Toast.LENGTH_SHORT).show();
    100         }
    101         //数据查询完毕以后,1:关系结果集 2.关闭SQLiteDataBase
    102         cursor.close();
    103         sqLiteDatabase.close();
    104         Toast.makeText(getApplication(),"查询完毕!",Toast.LENGTH_SHORT).show();
    105     }
    106     //删除数据
    107     private void deleteData() {
    108         deleteReceiver = deleteET.getText().toString();
    109         MySQLiteOpenHelper mySQLiteOpenHelper = new MySQLiteOpenHelper(this);
    110         SQLiteDatabase sqLiteDatabase = mySQLiteOpenHelper.getWritableDatabase();
    111         sqLiteDatabase.delete(
    112                 Common.NewsTable.TBL_NAME,
    113                 // ?:占位符 " = ? "相当于 " = 标题 ", null
    114                 Common.NewsTable.TBL_TITLE+ " = ?",
    115                 new String[]{deleteReceiver}
    116         );
    117         sqLiteDatabase.close();
    118         Toast.makeText(getApplication(),"删除成功!",Toast.LENGTH_SHORT).show();
    119     }
    120     //修改数据
    121     private void updateData() {
    122         updateReceiver = updateET.getText().toString();
    123         MySQLiteOpenHelper mySQLiteOpenHelper = new MySQLiteOpenHelper(this);
    124         SQLiteDatabase sqLiteDatabase = mySQLiteOpenHelper.getWritableDatabase();
    125         ContentValues contentValues = new ContentValues();
    126         contentValues.put(Common.NewsTable.TBL_TITLE,"这是修改后的数据");
    127         sqLiteDatabase.update(
    128                 Common.NewsTable.TBL_NAME,
    129                 contentValues,
    130                 Common.NewsTable.TBL_TITLE + " = ?",
    131                 new String[]{updateReceiver}
    132         );
    133         sqLiteDatabase.close();
    134         Toast.makeText(getApplication(),"修改成功!",Toast.LENGTH_SHORT).show();
    135     }
    136 }
    MySQListOPENHelper   创建数据库 创建表
     1 package com.example.administrator.myapplication.database;
     2 
     3 import android.content.Context;
     4 import android.database.sqlite.SQLiteDatabase;
     5 import android.database.sqlite.SQLiteOpenHelper;
     6 
     7 import com.example.administrator.myapplication.util.Common;
     8 
     9 /**
    10  * Created by Administrator on 2016-9-19.
    11  */
    12 
    13 //帮助类继承SQLiteOpenHelper,方法:构造函数,创建数据库,创建表,更新表
    14 public class MySQLiteOpenHelper extends SQLiteOpenHelper {
    15     private static final String DB_Name = "new.db"; //数据库后缀为db,常量用大写
    16     private static final int VERSION = 1; //数据库版本号
    17     //上下文,数据库名字,factory默认null,版本号
    18     /*public MySQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
    19         super(context, DB_Name, factory, VERSION);
    20     }*/
    21     //实现了数据库的创建,factory默认null,版本号固定
    22     public MySQLiteOpenHelper(Context context) {
    23         super(context, DB_Name, null, VERSION);
    24     }
    25 
    26     //在onCreate方法中创建表,只执行一次
    27     @Override
    28     public void onCreate(SQLiteDatabase db) {
    29         String sql = Common.NewsTable.getCreateTableSQL();
    30         db.execSQL(sql);
    31     }
    32     //onUpgrade更新表
    33     @Override
    34     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    35         //先删除原表,再调用onCreate创建新表
    36         db.execSQL("drop table "+ Common.NewsTable.TBL_NAME);
    37         onCreate(db);
    38     }
    39 }

    Common 公共类

     1 package com.example.administrator.myapplication.util;
     2 
     3 /**
     4  * Created by Administrator on 2016-9-19.
     5  */
     6 public class Common {
     7     public static class NewsTable{
     8         public static final String TBL_NAME ="News";
     9         public static final String TBL_TITLE = "NewsTitle";
    10         public static final String TBL_CONTENT = "NewsContent";
    11         public static final String TBL_SRC = "NewsImg";
    12         public static final String TBL_DATE = "NewsDate";
    13 
    14         public static String getCreateTableSQL(){
    15             String sql = "create table if not exists "
    16                         + TBL_NAME
    17                         + "("
    18                         + " _id integer primary key autoincrement,"
    19                         + TBL_TITLE + " text,"
    20                         + TBL_CONTENT + " text,"
    21                         + TBL_SRC + " text,"
    22                         + TBL_DATE + " varchar(50)"
    23                         + ")";
    24             return sql;
    25         }
    26     }
    27 }

    activity_sqlite

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     xmlns:tools="http://schemas.android.com/tools"
     4     android:layout_width="match_parent"
     5     android:layout_height="match_parent"
     6     android:orientation="vertical"
     7     tools:context=".database.Activity.SQLiteActivity">
     8 
     9     <EditText
    10         android:id="@+id/titleText"
    11         android:layout_width="match_parent"
    12         android:layout_height="wrap_content"
    13         android:hint="请输入标题" />
    14 
    15     <LinearLayout
    16         android:layout_width="match_parent"
    17         android:layout_height="wrap_content"
    18         android:orientation="horizontal">
    19 
    20         <TextView
    21             android:layout_width="wrap_content"
    22             android:layout_height="wrap_content"
    23             android:text="请输入要删除的数据" />
    24 
    25         <EditText
    26             android:id="@+id/deleteText"
    27             android:layout_width="match_parent"
    28             android:layout_height="wrap_content" />
    29     </LinearLayout>
    30 
    31     <LinearLayout
    32         android:layout_width="match_parent"
    33         android:layout_height="wrap_content"
    34         android:orientation="horizontal">
    35 
    36         <TextView
    37             android:layout_width="wrap_content"
    38             android:layout_height="wrap_content"
    39             android:text="请输入要修改的数据" />
    40 
    41         <EditText
    42             android:id="@+id/updateText"
    43             android:layout_width="match_parent"
    44             android:layout_height="wrap_content" />
    45     </LinearLayout>
    46 
    47     <Button
    48         android:id="@+id/insertData"
    49         android:layout_width="match_parent"
    50         android:layout_height="wrap_content"
    51         android:text="添加数据" />
    52 
    53     <Button
    54         android:id="@+id/queryData"
    55         android:layout_width="match_parent"
    56         android:layout_height="wrap_content"
    57         android:text="查找数据  " />
    58 
    59     <Button
    60         android:id="@+id/updateData"
    61         android:layout_width="match_parent"
    62         android:layout_height="wrap_content"
    63         android:text="修改数据" />
    64 
    65     <Button
    66         android:id="@+id/deleteData"
    67         android:layout_width="match_parent"
    68         android:layout_height="wrap_content"
    69         android:text="删除数据" />
    70 </LinearLayout>
  • 相关阅读:
    CF 461B Appleman and Tree
    POJ 1821 Fence
    NOIP 2012 开车旅行
    CF 494B Obsessive String
    BZOJ2337 XOR和路径
    CF 24D Broken robot
    POJ 1952 BUY LOW, BUY LOWER
    SPOJ NAPTIME Naptime
    POJ 3585
    CF 453B Little Pony and Harmony Chest
  • 原文地址:https://www.cnblogs.com/xiaolei121/p/5885912.html
Copyright © 2011-2022 走看看