首页 > 分享 > 【android】SQLite数据库的增删改查代码

【android】SQLite数据库的增删改查代码

package com.example.sqlite; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import androidx.annotation.Nullable; import com.example.sqlite.bean.student; import java.util.ArrayList; import java.util.List; //创建数据库,继承(extend)SQLiteOpenHelper这个数据库帮助类 public class mySQLite extends SQLiteOpenHelper { //选取SQLiteOpenHelper,alt+enter,一直回车实现方法就行 //选取mySQLite,alt+enter,只用实现第一条的方法就行 private static final String db_name="mySQLite.db"; private static final String TABLE_NAME_STUDENT="student"; private static final String create_table_sql="create table "+TABLE_NAME_STUDENT+"(id integer primary key autoincrement ,name text,score text)"; //这个语句是方便重复利用,别到时候再慢慢写 //create table student是指创建名字是student的数据表 // id 是integer类型,primary key是主键,唯一标识,autoincrement是代表自增。后面name,score什么的是要加的数据 public mySQLite(Context context){//这个可以直接代替下面的非常长的方法,所以下面的可以直接删了,或者注释掉 super(context,db_name,null,1);//版本就随便了,0,1都行 //在执行这个方法时,数据库已经被创建好了 //这个函数比较方便就是外部只要传入上下文就行,不用像下面的方法一样需要传四个参数 } /* public mySQLite(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version);//要求传入:上下文,数据库名字,工厂,版本 //为了简单化,可以现在外面把参数填好再放进去 }*/ @Override public void onCreate(SQLiteDatabase db) {//只会在第一次创建时调用,同时创建“数据表”(一个数据库可以创建很多个数据表)。其他时候不会使用 db.execSQL(create_table_sql);//写入已经准备好的用来创建表的代码 //执行到这里student的数据表就创建好了 } @Override public void onUpgrade(SQLiteDatabase db, int i, int i1) {//更新升级 i是传入老版本(比如说1),i1是传入新版本(比如说2) } public long insertData(student stu){//安卓不知道student类是不是我们之前创建的类,所以要alt+enter确认 SQLiteDatabase db = getWritableDatabase();//得到可写的数据库 ContentValues values = new ContentValues();//contentvalues类型跟键值对类型很像,都是一个用法 values.put("name",stu.getName()); values.put("score",stu.getScore()); //这样就把name的数据和score的数据传入了values这个“包裹里” return db.insert("student",null,values);//values是真正要传的值,是contentValues类型 }//db.insert返回值是这一行的id或-1,如果是-1说明插入失败了 public int deleteDbByName(String name){ SQLiteDatabase db=getWritableDatabase(); return db.delete(TABLE_NAME_STUDENT,"name like ?",new String[]{name});//返回值是删除的条数 //“name like ?”不能改成“name=”,不然会闪退,也不知道什么鬼情况 } public int updateData(student stu){ SQLiteDatabase db=getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name",stu.getName()); values.put("score",stu.getScore()); return db.update(TABLE_NAME_STUDENT,values,"name like ?",new String[]{stu.getName()}); //md,"name like ?"d单词一定要打对呀,不然闪退了自己都不知道 //意思是更新name为stu.getname的数据,更新成values的样子 //update的返回值也是被影响的行数 } public List<student> queryDateByName(String name) {//查询数据 SQLiteDatabase db = getWritableDatabase(); List<student> stu_list = new ArrayList<>();//list的<>里面是写所加元素的类名,这次加的是student类 //原来list是要new一个数组arraylist的 Cursor query = db.query(TABLE_NAME_STUDENT, null, "name like ?", new String[]{name}, null, null, null); //第二个参数:columns 指的是要查那些列。如果要查name列或者查score列,就传入String[]{“name”,“score”};如果查所有列,就传null。 //第三个参数加上第四个参数合起来,就是按单个查的,如果查的是所有就null;这里按姓名查,就传"name like ?",后面传入详细的name列表。 //后面的两个参数就涉及选择内容的分组和排序,视频没有介绍就默认查询就行了,传null //最后一个参数是顺序倒叙排列的,有兴趣可以找找看 //query返回值是一个游标,一个箭头(cursor),指向的是所要查询的行。最开始是指在第一行的上面那一行(就是开始时没有指向数据)。 if (query != null) { while (query.moveToNext()) {//只要query不在最后一行,移动到下一行, // 执行while里的查询代码。当执行完后继续循环,移到下一行,直到把所有行都遍历完。 //遍历代码把要查的数据全部加到list里面 String name1 = query.getString(query.getColumnIndexOrThrow("name"));//getColumnIndex如果出现红色,可以用getColumnIndexOrThrow String score = query.getString(query.getColumnIndexOrThrow("score")); student stu = new student(); stu.setName(name1); stu.setScore(score); stu_list.add(stu); } query.close(); } return stu_list;//要得到这个list,就要把这所有的代码全部运行一遍捏 } }

相关知识

android studio安卓花店宠物水果蔬菜商城源码大作业成品sqlite期末作品
基于JSP+Servlet+Mysql的宠物管理系统(简单增删改查)
宠物商店项目,增删改查
使用JDBC实现简单的宠物系统(增删改查)
宠物用品在线交易系统(chongwuyongpin),基于java的毕业设计
基于ASP.NET的宠物寄养系统
Android宠物领养救助系统app毕业设计
计算机毕业设计安卓宠物店APP源码
计算机毕业设计基于Android宠物领养救助系统app
宠物领养系统设计:Android开发与MySQL数据库应用

网址: 【android】SQLite数据库的增删改查代码 https://m.mcbbbk.com/newsview609796.html

所属分类:萌宠日常
上一篇: 厦门买狗买猫的地方在哪里?这里安
下一篇: 合肥买宠物猫狗最好去哪里买?这里