首页 > 代码库 > 数据库SQList 添加 查询 修改 删除
数据库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.关闭SQLiteDataBase102 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 // ?:占位符 " = ? "相当于 " = 标题 ", null114 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 @Override28 public void onCreate(SQLiteDatabase db) {29 String sql = Common.NewsTable.getCreateTableSQL();30 db.execSQL(sql);31 }32 //onUpgrade更新表33 @Override34 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 = "http://www.mamicode.com/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_NAME17 + "("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 <EditText10 android:id="@+id/titleText"11 android:layout_width="match_parent"12 android:layout_height="wrap_content"13 android:hint="请输入标题" />14 15 <LinearLayout16 android:layout_width="match_parent"17 android:layout_height="wrap_content"18 android:orientation="horizontal">19 20 <TextView21 android:layout_width="wrap_content"22 android:layout_height="wrap_content"23 android:text="请输入要删除的数据" />24 25 <EditText26 android:id="@+id/deleteText"27 android:layout_width="match_parent"28 android:layout_height="wrap_content" />29 </LinearLayout>30 31 <LinearLayout32 android:layout_width="match_parent"33 android:layout_height="wrap_content"34 android:orientation="horizontal">35 36 <TextView37 android:layout_width="wrap_content"38 android:layout_height="wrap_content"39 android:text="请输入要修改的数据" />40 41 <EditText42 android:id="@+id/updateText"43 android:layout_width="match_parent"44 android:layout_height="wrap_content" />45 </LinearLayout>46 47 <Button48 android:id="@+id/insertData"49 android:layout_width="match_parent"50 android:layout_height="wrap_content"51 android:text="添加数据" />52 53 <Button54 android:id="@+id/queryData"55 android:layout_width="match_parent"56 android:layout_height="wrap_content"57 android:text="查找数据 " />58 59 <Button60 android:id="@+id/updateData"61 android:layout_width="match_parent"62 android:layout_height="wrap_content"63 android:text="修改数据" />64 65 <Button66 android:id="@+id/deleteData"67 android:layout_width="match_parent"68 android:layout_height="wrap_content"69 android:text="删除数据" />70 </LinearLayout>
数据库SQList 添加 查询 修改 删除
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。