Android 增删改查

news/2025/3/18 19:02:06/文章来源:https://www.cnblogs.com/dengyizhidai/p/18779566

针对数据库进行操作的文件,涵盖了对数据库进行增删改查的所有函数,select,updata,delete,insert

package com.example.stuapp.utils;

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 androidx.appcompat.app.AlertDialog;

import com.example.stuapp.MainActivity;
import com.example.stuapp.pojo.Stu;

import java.util.ArrayList;
import java.util.List;

public class StuHelp extends SQLiteOpenHelper {
private static StuHelp stuHelp;
private static final String Name="stu";

public static StuHelp getStuHelp(Context context) {if(stuHelp==null) stuHelp=new StuHelp(context);return stuHelp;
}
public long add(SQLiteDatabase sqLiteDatabase, Stu stu){System.out.println(stu.toString());ContentValues values=new ContentValues();values.put("id",stu.getId());values.put("name",stu.getName());values.put("age",stu.getAge());values.put("sex",stu.getSex());return sqLiteDatabase.insert(Name,null,values);
}

public long delete(SQLiteDatabase sqLiteDatabase,String id){
return sqLiteDatabase.delete(Name,"id=?",new String[]{id});
}
public long update(SQLiteDatabase sqLiteDatabase,Stu stu,String id){
ContentValues values=new ContentValues();
if(stu.getId()!=null&&!stu.getId().equals(""))
values.put("id",stu.getId());
if(stu.getName()!=null&&!stu.getName().equals(""))
values.put("name",stu.getName());
if(stu.getAge()!=null&&!stu.getAge().equals(""))
values.put("age",stu.getAge());
if(stu.getSex()!=null&&!stu.getSex().equals(""))
values.put("sex",stu.getSex());

    return sqLiteDatabase.update(Name,values,"id=?",new String[]{id});

}
public Stu select(SQLiteDatabase sqLiteDatabase,String id){
Cursor cursor=sqLiteDatabase.rawQuery("select * from stu where id=?",new String[]{id});
Stu stu=null;
if(cursor.getCount()>0){ cursor.moveToNext();stu=new Stu(cursor.getString(0),cursor.getString(1),cursor.getString(2),cursor.getString(3));}
return stu;
}
public List browse(SQLiteDatabase sqLiteDatabase){
List stus=new ArrayList<>();
Cursor cursor =sqLiteDatabase.query(Name,null,null,null,null,null,null);
while (cursor.moveToNext()){
Stu stu=new Stu();
stu.setId(cursor.getString(0));
stu.setName(cursor.getString(1));
stu.setAge(cursor.getString(2));
stu.setSex(cursor.getString(3));
stus.add(stu);
}
return stus;
}
private StuHelp(@Nullable Context context) {
super(context,Name ,null, 1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String sql="create table if not exists stu(" +
"id varchar(10) not null primary key," +
"name varchar(10) not null," +
"age varchar(10) not null," +
"sex varchar(10) not null)";
sqLiteDatabase.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

}

接下来要针对增删改查各个操作的页面编写其对应的activity文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/901058.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows 提权-服务_弱服务权限

本文通过 Google 翻译 Weak Service Permissions – Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。导航0 前言 1 搜寻非标准服务1.1 cmd 1.2 powershell2 搜寻服务的弱权限2.1 枚举服务的弱权限:手动 2.2 …

前端html+css+js

之前只知道html和css,不知道可以用js设置事件监听,一些输入判断条件就不知道怎么写,上了web课程后有所了解 这是此次作业代码是ai生成的,不过可以凭自己大致看懂,加上ai的解释和课堂ppt有所收获点击查看代码 <!DOCTYPE html> <html lang="zh"> <…

Git分支管理与代码合并实践:保持特性分支与主分支同步

场景说明 在团队协作开发中,开发者经常需要在特性分支(如 dev_feature_xxx)上实现新功能,同时需要定期同步主分支(如 develop)的最新代码,避免最终合并时产生严重冲突。本文将通过一个实际案例,演示如何安全地将主分支更新合并到特性分支,并完成代码推送与合并请求。完…

dify工作流

一、简介 官方地址:https://docs.dify.ai/zh-hans/guides/workflow工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了 LLM 应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。 Dify 工作流分为两…

wps实现多选下拉框3种方案

一、js宏listbox控件方案 优点: 1.wps默认宏环境,无需安装VBA环境 2.下拉框位置定位准确 缺点: 1.下拉框数据无法代码初始化,只能使用区域设置 2.一次只能选一个,多次选择实现多选 配置: 代码:function ListBox1_Click() {var cellValue = new String(ActiveCell.Valu…

Nginx 离线安装与介绍

一、安装 1.1 离线安装准备源代码包 #从项目的官方网站或代码仓库(如 GitHub)下载源代码 wget https://nginx.org/download/nginx-1.24.0.tar.gz #下载 tar -xzvf nginx-1.24.0.tar.gz #解压 cd nginx-1.24.0安装编译工具和依赖项 #正则表达式库(pcre-devel)、 数…

安装U8 IEWebControls 提示“The specified path http://localhost/webctrl client is unavailable.

安装U8 插件 IEWebControls 提示“The specified path "http://localhost/webctrl client is unavailable. The InternetInformation Server might not be running or the path exists and is redirected to anothelmachine. Please check the status of this virtual di…

VISI 2023下载与安装教程

‌Vero VISI 2023更新主要包括以下几个方面‌:‌CAD分析功能‌:新增了拔模分析功能,该功能扩展了底切和辅助功能阴影模式集,可以对拔模角度进行动态分析。用户可以通过图形工具栏上的颜色或数字标签来更改每个范围的颜色和角度值‌。 ‌维修功能‌:在“验证”命令中集成了…

中电金信:2025金融高质量发展指南:这两篇权威文件必读!

近日,国务院办公厅及权威机构接连发布两份重要文件,为金融业锚定2025年发展方向提供了清晰指引。无论是顶层设计的战略布局,还是前沿趋势的深度洞察,这两份文件已成为行业必读。3月5日,国务院办公厅印发《关于做好金融“五篇大文章”的指导意见》(以下简称《指导意见》)…

express 基本用法

启动一个http服务.import express from express;const app = express() //express 是个函数app.listen(3000, () => {console.log("服务器启动成功,3000"); }); get 和post接口//get //api地址,回调函数req是请求,res是响应 app.get("/get", (req, re…

Git 合并时出现 Please enter a commit message to explain why this merge is necessary 问题解决

1. 报错现象 2. 报错文字merge brach "dev" # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with # will be ignored, and an empty message a…

3.18 学习记录

将仓库管理系统的前端框架使用vue3搭建完成,修改了后端的部分bug,实现了登录功能,其他页面功能还未完成