Android Studio中sqlite的使用

//AData.java
package com.example.newjzb;

public class AData {
    private int id;
    private String typesz;//支出收入
    private float money;//金额
    private String type;//类型
    private String beizhu;//备注
    private int year;
    private int month;
    private int day;

    public AData(){}
    public AData(int id,String typesz,float money,String type,
                 String beizhu,int year,int month,int day)
    {
        this.id=id;
        this.typesz=typesz;
        this.money=money;
        this.type=type;
        this.beizhu=beizhu;
        this.year=year;
        this.month=month;
        this.day=day;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }

    public void setTypesz(String typesz) {
        this.typesz = typesz;
    }

    public String getTypesz() {
        return typesz;
    }

    public void setMoney(float money) {
        this.money = money;
    }

    public float getMoney() {
        return money;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    public void setBeizhu(String beizhu) {
        this.beizhu = beizhu;
    }

    public String getBeizhu() {
        return beizhu;
    }

    public void setYear(int year) {
        this.year = year;
    }

    public int getYear() {
        return year;
    }

    public void setMonth(int month) {
        this.month = month;
    }

    public int getMonth() {
        return month;
    }

    public void setDay(int day) {
        this.day = day;
    }

    public int getDay() {
        return day;
    }

}

//ADataBase

package com.example.newjzb;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

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

public class ADataBase extends SQLiteOpenHelper {

    private static final String DB_NAME = "mySQLite.db";
    private static final String TABLE_NAME = "AJZB";
    public ADataBase(Context context)
    {
        super(context,DB_NAME,null,1);
    }
    //数据库第一次创建时调用该方法
    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql="create table " + TABLE_NAME + "(Aid integer primary key autoincrement," +
                "Atypesz text not null,"+
                "Amoney float not null," +
                "Atype text not null," +
                "Abeizhu text ," +
                "Ayear integer not null," +
                "Amonth integer not null," +
                "Aday integer not null);";
        db.execSQL(sql);

    }
    //数据库版本号更新时调用
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }

    //增加
    public long addData(AData aData){
        SQLiteDatabase db =this.getWritableDatabase();
        ContentValues values=new ContentValues();
        values.put("Atypesz",aData.getTypesz());
        values.put("Amoney",aData.getMoney());
        values.put("Atype",aData.getType());
        values.put("Abeizhu",aData.getBeizhu());
        values.put("Ayear",aData.getYear());
        values.put("Amonth",aData.getMonth());
        values.put("Aday",aData.getDay());
        return db.insert(TABLE_NAME,null,values);
    }

    //每日
    public List dayData(int year,int month,int day){
        SQLiteDatabase db=getWritableDatabase();
        ListADataList=new ArrayList<>();
        String sql = "select * from "+TABLE_NAME+" where Ayear=? and Amonth=? and Aday=? order by Aid desc";
        Cursor cursor = db.rawQuery(sql, new String[]{year + "", month + "", day + ""});
        if(cursor!=null){
            while (cursor.moveToNext()){
//                int id=cursor.getInt(cursor.getColumnIndexOrThrow("Aid"));
                int id=cursor.getInt(0);
                String typesz=cursor.getString(1);
                float money=cursor.getFloat(2);
                String type=cursor.getString(3);
                String beizhu=cursor.getString(4);
                AData aData=new AData(id,typesz,money,type,beizhu,year,month,day);
                ADataList.add(aData);
            }
            cursor.close();
        }
        db.close();
        return ADataList;
    }

    //所有账单
    public List allData() {
        SQLiteDatabase db = getWritableDatabase();
        List ADataList = new ArrayList<>();
        String sql = "select * from "+TABLE_NAME+" order by Aid desc";
        Cursor cursor = db.rawQuery(sql,null);
        //Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);
        if (cursor != null) {
            while (cursor.moveToNext()) {
                int id=cursor.getInt(0);
                String typesz=cursor.getString(1);
                float money=cursor.getFloat(2);
                String type=cursor.getString(3);
                String beizhu=cursor.getString(4);
                int year=cursor.getInt(5);
                int month=cursor.getInt(6);
                int day=cursor.getInt(7);
                AData aData=new AData(id,typesz,money,type,beizhu,year,month,day);
                ADataList.add(aData);
            }
            cursor.close();
        }
        db.close();
        return ADataList;
    }

    //删除数据
    public void deleteData(int id){
        SQLiteDatabase db =getWritableDatabase();
        db.delete(TABLE_NAME,"Aid=?", new String[]{id+""});
        db.close();
    }

    //每月
//    public List day_typesz(int year,int month){
//        SQLiteDatabase db=getWritableDatabase();
//        ListADataList=new ArrayList<>();
//        String sql = "select * from "+TABLE_NAME+" where Ayear=? and Amonth=? order by Aid desc";
//        Cursor cursor = db.rawQuery(sql, new String[]{year + "", month + ""});
//        if(cursor!=null){
//            while (cursor.moveToNext()){
                int id=cursor.getInt(cursor.getColumnIndexOrThrow("Aid"));
//                int id=cursor.getInt(0);
//                String typesz=cursor.getString(1);
//                float money=cursor.getFloat(2);
//                String type=cursor.getString(3);
//                String beizhu=cursor.getString(4);
//                int day=cursor.getInt(7);
//                AData aData=new AData(id,typesz,money,type,beizhu,year,month,day);
//                ADataList.add(aData);
//            }
//            cursor.close();
//        }
//        db.close();
//        return ADataList;
//    }

    //每日和(支出/收入)
    public float daySumtypesz(int year,int month,int day,String typesz)
    {
        SQLiteDatabase db=getWritableDatabase();
        float sum=0;
        String sql = "select sum(Amoney) from "+TABLE_NAME+" where Ayear=? and Amonth=? and Aday=? and Atypesz=?";

        Cursor cursor = db.rawQuery(sql, new String[]{year + "", month + "",day + "", typesz + ""});
        if(cursor!=null){
            while (cursor.moveToNext()){
//
                float money = cursor.getFloat(cursor.getColumnIndex("sum(Amoney)"));
                sum = money;
            }
            cursor.close();
        }
        db.close();
        return  sum;
    }

    //每月和
    public float Monthtypesz(int year,int month,String typesz)
    {
        SQLiteDatabase db=getWritableDatabase();
        float sum=0;
        String sql = "select sum(Amoney) from "+TABLE_NAME+" where Ayear=? and Amonth=? and Atypesz=?";

        Cursor cursor = db.rawQuery(sql, new String[]{year + "", month + "", typesz + ""});
        if(cursor!=null){
            while (cursor.moveToNext()){
                float money = cursor.getFloat(cursor.getColumnIndex("sum(Amoney)"));
                sum = money;
            }
            cursor.close();
        }
        db.close();
        return  sum;
    }

}

Original: https://blog.csdn.net/m0_51791448/article/details/125274119
Author: 浅惜丶
Title: Android Studio中sqlite的使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/816596/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球