Android SQLite 数据库DAO 基本方法

    xiaoxiao2024-04-19  9

    package com.zhongjiu.db;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.SystemClock;import android.widget.Toast;import com.zhongjiu.activity.MumberActivity;import com.zhongjiu.domain.ChanPin;import com.zhongjiu.domain.DingDan;public class DingDanDao {private DingDanDBhelper helper;/** * 在构造方法中初始化helper对象 */public DingDanDao(Context context) {helper = new DingDanDBhelper(context);}/** * 增加一个订单 * * @param time * @param dingdannumber * @param zhuangtai * @param jine * @param zhifufs * @param xingming */public void add(String time, String dingdannumber, String zhuangtai,String jine, String zhifufs, String xingming, String goumaitiaoma,String goumaishuliang) {SQLiteDatabase db = helper.getWritableDatabase();db.execSQL(// 注意自己操作的是那张表"insert into ding (time,dingdannumber,zhuangtai,jine,zhifufs,xingming,goumaitiaoma,goumaishuliang) values (?,?,?,?,?,?,?,?)",new Object[] { time, dingdannumber, zhuangtai, jine, zhifufs,xingming, goumaitiaoma, goumaishuliang });db.close();// 释放资源}/** * 根据订单号删除一个订单 * * @param dingdannumber */public void delete(String dingdannumber) {// 得到一个可写的数据库SQLiteDatabase db = helper.getWritableDatabase();// SQLiteDatabase db = helper.getWritableDatabase();db.delete("ding", "dingdannumber=?", new String[] { dingdannumber });db.close();}/** * 搜索满足条件的 订单的集合 * * @param startTime * @param endTime * @param zhuangtai * @param zhifufs * @param xingming * @return */public List find(String zhuangtai, String zhifufs,String xingming, String starttime, String endtime) {List dingdan = new ArrayList();// 注意一下得到的时间必须是2016-03-10 14:48:50 否则不可以使用的String time = null;String dingdannumber = null;// String zhuangtai = null;String jine = null;// String zhifufs = null;// String xingming = null;// 这块怎么写这个daoSQLiteDatabase db = helper.getReadableDatabase();// 这块的查询语句是有问题的Cursor cursor = db.rawQuery("select * from ding where zhuangtai=? and zhifufs=? and xingming=? and time Between ? and ?",new String[] { zhuangtai, zhifufs, xingming, starttime,endtime });cursor.moveToFirst();DingDan dingd = new DingDan();time = cursor.getString(1);dingdannumber = cursor.getString(2);zhuangtai = cursor.getString(3);jine = cursor.getString(4);zhifufs = cursor.getString(5);xingming = cursor.getString(6);// time = cursor.getString(0);// dingdannumber = cursor.getString(1);// zhuangtai = cursor.getString(2);// jine = cursor.getString(3);// zhifufs = cursor.getString(4);// xingming = cursor.getString(5);dingd.setTime(time);dingd.setDingdannumber(dingdannumber);dingd.setZhifufs(zhifufs);dingd.setJine(jine);dingd.setZhuangtai(zhuangtai);dingd.setXingming(xingming);dingdan.add(dingd);while (cursor.moveToNext()) {DingDan dingd1 = new DingDan();time = cursor.getString(1);dingdannumber = cursor.getString(2);zhuangtai = cursor.getString(3);jine = cursor.getString(4);zhifufs = cursor.getString(5);xingming = cursor.getString(6);dingd1.setTime(time);dingd1.setDingdannumber(dingdannumber);dingd1.setZhifufs(zhifufs);dingd1.setJine(jine);dingd1.setZhuangtai(zhuangtai);dingd1.setXingming(xingming);dingdan.add(dingd1);}cursor.close();db.close();// Toast.makeText(MumberActivity.this, text, duration)// SystemClock.sleep(1000);return dingdan;}/** * 根据订单号去查询对应的订单 * * @param dingdannumber * @return */public DingDan find(String dingdannumber) {// 这块尽然无耻的空指针了// ChanPin chanpin = null;// ChanPin chanpin = new ChanPin();DingDan dingdan = new DingDan();String time = null;String zhuangtai = null;String jine = null;String zhifufs = null;String xingming = null;String goumaitiaoma = null;String goumaishuliang = null;SQLiteDatabase db = helper.getReadableDatabase();// 获取一个可读的数据库Cursor cursor = db.query("ding", new String[] { "time","dingdannumber", "zhuangtai", "jine", "zhifufs", "xingming","goumaitiaoma", "goumaishuliang" }, "dingdannumber=?",new String[] { dingdannumber }, null, null, null);if (cursor.moveToNext()) {time = cursor.getString(0);dingdannumber = cursor.getString(1);zhuangtai = cursor.getString(2);jine = cursor.getString(3);zhifufs = cursor.getString(4);xingming = cursor.getString(5);goumaitiaoma = cursor.getString(6);goumaishuliang = cursor.getString(7);dingdan.setTime(time);dingdan.setZhuangtai(zhuangtai);dingdan.setDingdannumber(dingdannumber);dingdan.setJine(jine);dingdan.setZhifufs(zhifufs);dingdan.setXingming(xingming);dingdan.setGoumaitiaoma(goumaitiaoma);dingdan.setGoumaishuliang(goumaishuliang);}return dingdan;}/** * 为了 在orderjiesuan activity中使用的 okay 了啦啦 * @param kaishishijian * @param jiesushijian * @param zhuangtai * @return */public List findjiesuan(String kaishishijian, String jiesushijian,String zhuangtai) {List dingdan1 = new ArrayList();String time = null;String dingdannumber = null;// String zhuangtai = null;String jine = null; // 这个时候才发现我把这个金额弄进来真的是太明智了,来鼓掌String zhifufs = null;String xingming = null;String goumaishuliang = null;String tiaoma = null;//我在数据库中已经有了,但是为什么就会出现问题那,为毛 为毛为毛SQLiteDatabase db = helper.getReadableDatabase();Cursor cursor = db.rawQuery("select * from ding where zhuangtai=? and time Between ? and ?",new String[] { zhuangtai, kaishishijian, jiesushijian });while (cursor.moveToNext()) {DingDan dingd1 = new DingDan();time = cursor.getString(1);dingdannumber = cursor.getString(2);zhuangtai = cursor.getString(3);jine = cursor.getString(4);zhifufs = cursor.getString(5);xingming = cursor.getString(6);tiaoma = cursor.getString(7);goumaishuliang = cursor.getString(8);dingd1.setTime(time);dingd1.setDingdannumber(dingdannumber);dingd1.setZhifufs(zhifufs);dingd1.setJine(jine);dingd1.setZhuangtai(zhuangtai);dingd1.setXingming(xingming);dingd1.setGoumaitiaoma(tiaoma);dingd1.setGoumaishuliang(goumaishuliang);dingdan1.add(dingd1);}cursor.close();db.close();return dingdan1;}/** * 根据 * * @param dingdannumber */public void deleteguadan(String gua) {// 得到一个可写的数据库SQLiteDatabase db = helper.getWritableDatabase();// SQLiteDatabase db = helper.getWritableDatabase();db.delete("ding", "zhuangtai=?", new String[] { gua });db.close();}/** * 获取全部的订单信息 * @return *//* db.execSQL("create table ding (_id integer primary key autoincrement," +"time varchar(200),dingdannumber varchar(30),zhuangtai varchar(30)," +"jine varchar(30),zhifufs varchar(30),xingming varchar(30),goumaitiaoma varchar(200)," +"goumaishuliang varchar(30) )");*/public List findAll(){SQLiteDatabase db = helper.getReadableDatabase();//获取一个可读的数据库List infos = new ArrayList();Cursor cursor = db.query("ding", new String[]{"time","dingdannumber","zhuangtai","jine","zhifufs","xingming","goumaitiaoma","goumaishuliang"}, null, null, null, null,"time DESC ");while(cursor.moveToNext()){String time = cursor.getString(0);String dingdannumber = cursor.getString(1);String zhuangtai = cursor.getString(2);String jine = cursor.getString(3);String zhifufs = cursor.getString(4);String xingming = cursor.getString(5); String goumaitiaoma = cursor.getString(6);String goumaishuliang = cursor.getString(7);DingDan dingdan = new DingDan();dingdan.setTime(time);dingdan.setZhuangtai(zhuangtai);dingdan.setDingdannumber(dingdannumber);dingdan.setJine(jine);dingdan.setZhifufs(zhifufs);dingdan.setXingming(xingming);dingdan.setGoumaitiaoma(goumaitiaoma);dingdan.setGoumaishuliang(goumaishuliang);infos.add(dingdan);}cursor.close();db.close();// SystemClock.sleep(1000);return infos;}}
    转载请注明原文地址: https://ju.6miu.com/read-1288141.html
    最新回复(0)