Android开发实现增删改查

创建数据库并写入方法

package com.example.sql;
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 java.util.ArrayList;
import java.util.List;

public class MySQLliteOpenHelper extends SQLiteOpenHelper{
    SQLiteDatabase userDatabase;
    private static final String DB_NAME="sqls.db";
    private static final String TABLE_NAME_STUDENT="student";
    private static final String CREATE_TABLE_SQL_STUDENT="create table student("+
            "id integer primary key autoincrement,name text,num text)";
    public MySQLliteOpenHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }
    public MySQLliteOpenHelper(@Nullable Context context) {
        super(context,DB_NAME,null,1);
    }
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL(CREATE_TABLE_SQL_STUDENT);
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
    //添加
    public long insertData(Student student) {
        SQLiteDatabase db=getWritableDatabase();
        ContentValues contentValues=new ContentValues();
        contentValues.put("name",student.getName());
        contentValues.put("num",student.getNum());


        return db.insert(TABLE_NAME_STUDENT,null,contentValues);
    }
    //删除
    public int deleteDataByName(String name){
        SQLiteDatabase db=getWritableDatabase();
        return db.delete(TABLE_NAME_STUDENT,"name=?",new String[]{name});
    }
    //修改
    public int update(Student student){
        SQLiteDatabase db=getWritableDatabase();
        ContentValues contentValues=new ContentValues();
        contentValues.put("name",student.getName());
        contentValues.put("num",student.getNum());
        return db.update(TABLE_NAME_STUDENT,contentValues,"name like ?",new String[]{student.getName()});
    }
    //查找
    public List<Student> selectFromName(String name){
        SQLiteDatabase db=getReadableDatabase();
        List<Student> studentList=new ArrayList<>();
        Cursor c=db.query(TABLE_NAME_STUDENT,null,"name like ?",new String[]{name},null,null,null);
        if(c!=null){
            while(c.moveToNext()){
                String stuName=c.getString(c.getColumnIndex("name"));
                String stuNum=c.getString(c.getColumnIndex("num"));
                Student student=new Student();
                student.setName(stuName);
                student.setNum(stuNum);

                studentList.add(student);
            }
            c.close();
        }
        return studentList;
    }


    //显示所有数据
    public List<Student> selectall(String name){
        SQLiteDatabase db=getReadableDatabase();
        List<Student> studentList=new ArrayList<>();
        Cursor c = db.query("student", null, null, null, null, null, null, null);
        if(c!=null){
            while(c.moveToNext()){
                String stuName=c.getString(c.getColumnIndex("name"));
                String stuNum=c.getString(c.getColumnIndex("num"));
                Student student=new Student();
                student.setName(stuName);
                student.setNum(stuNum);

                studentList.add(student);
            }
            c.close();
        }
        return studentList;
    }



}

方法调用

增加

package com.example.sql;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.example.sql.Student;


import android.widget.Toast;

public class InsertActivity extends AppCompatActivity {
    private EditText stuName,stuId;
    private Button btnHold;
    private MySQLliteOpenHelper mySQLliteOpenHelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_insert);

        initView();

        mySQLliteOpenHelper=new MySQLliteOpenHelper(this);
        btnHold.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String name=stuName.getText().toString().trim();
                String num=stuId.getText().toString().trim();

                Student student=new Student();
                student.setName(name);
                student.setNum(num);

                long rowId=mySQLliteOpenHelper.insertData(student);
                if(rowId!=-1){
                    ToastUtill.toastshort(InsertActivity.this,"添加成功!");
                }else{
                    ToastUtill.toastshort(InsertActivity.this,"添加失败!");

                }
            }
        });
    }

    private void initView() {
        stuName=findViewById(R.id.stu_name);
        stuId=findViewById(R.id.stu_id);
        btnHold=findViewById(R.id.btn_hold);
    }


}

删除

package com.example.sql;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;


public class DeleteActivity extends AppCompatActivity {
    EditText inname;
    private MySQLliteOpenHelper mMySQLliteOpenHelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_delete);
        mMySQLliteOpenHelper = new MySQLliteOpenHelper(this);
        initView();
    }

    private void initView() {
        inname=findViewById(R.id.stu_name);
    }

    public void deleteOnClick(View view) {
        String name=inname.getText().toString().trim();
        int i=mMySQLliteOpenHelper.deleteDataByName(name);
        if(i>0){
            ToastUtill.toastshort(this,"删除成功!删除了"+i+"行");
        }else{
            ToastUtill.toastshort(this,"删除失败!!");

        }
    }
}

修改

package com.example.sql;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class UpdateActivity extends AppCompatActivity {
    EditText stuName,stuNum;
    private MySQLliteOpenHelper mySQLliteOpenHelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_update);
        mySQLliteOpenHelper=new MySQLliteOpenHelper(this);
        initView();
    }

    private void initView() {
        stuName=findViewById(R.id.stu_name);
        stuNum=findViewById(R.id.stu_num);
    }

    public void updateOnClick(View view) {
        String name=stuName.getText().toString().trim();
        String num=stuNum.getText().toString().trim();

        Student student=new Student();
        student.setName(name);
        student.setNum(num);
        int i=mySQLliteOpenHelper.update(student);
        if(i>0){
            ToastUtill.toastshort(this,"修改成功!");
        }else{
            ToastUtill.toastshort(this,"修改失败!!!");
        }
    }
}

查询

package com.example.sql;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;

import java.util.List;

public class SelectActivity extends AppCompatActivity {
    Button btnSelectName;
    TextView toname,edinto;
    ListView lvSelect;
    private MySQLliteOpenHelper mySQLliteOpenHelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_select);
        mySQLliteOpenHelper=new MySQLliteOpenHelper(this);
        initView();
    }

    private void initView() {
        btnSelectName=findViewById(R.id.select_name);
        toname=findViewById(R.id.stu_name);
        edinto=findViewById(R.id.edinfo);
//        lvSelect=findViewById(R.id.lv_select);
    }

    public void selectOnClick(View view) {
        String name=toname.getText().toString().trim();
        if(!TextUtils.isEmpty(name)){
            List<Student> students=mySQLliteOpenHelper.selectFromName(name);
            if(!students.isEmpty()){
                showData(students);
                return;
            }else{
                ToastUtill.toastshort(this,"查询结果为空!");
            }

        }
    }

    private void showData(@NonNull List<Student> students){
        StringBuilder stringBuilder=new StringBuilder();
        for(Student student1:students){
            stringBuilder.append("姓名:");
            stringBuilder.append(student1.getName());
            stringBuilder.append(",学号:");
            stringBuilder.append(student1.getNum());
            stringBuilder.append("\n");
        }
        edinto.setText(stringBuilder.toString());
    }


}
  • 1
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xx080

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值