Android SQLite使用

来源:互联网 发布:半条命2剧情知乎 编辑:程序博客网 时间:2024/06/08 15:37

讲解一下SQLite的用法:(不讲sql的语句)

/******真删改查的方法全写这里面*******/
public class DBHelper extends SQLiteOpenHelper {
       private SQLiteDatabase db ;

       public DBHelper(Context context) {
                    //上下文,数据库名字,数据库工厂,数据库版本
                                        //第一个参数是数据库名字,第二个Null即可,第三个是数据库版本号,用来做判断升级的
             super(context, Constants.DETAIL_ID_DBNAME, null,
                        Constants. DETAIL_ID_VERSION);
               //得到一个可写 的数据库
             db = super.getWritableDatabase();
      }

       @Override
       public void onCreate(SQLiteDatabase db) {
              //在创建的时候直接创建一张表
            String sql = "CREATE TABLE IF NOT EXISTS  DETAIL (  deal_id TEXT PRIMARY KEY NOT NULL, image TEXT,brand_name TEXT,short_title TEXT,sell_count TEXT,groupon_price TEXT, market_price)";
            db.execSQL(sql);
      }
     //这个是如果升级了数据库的版本,则会调用这个方法,数据库升级的时候,如果增加或者减少了字段,可以在这里面进行sql语句操作
       @Override
       public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
             if (newVersion > oldVersion) {//判断新版本的数据库的版本是否大于旧版本
                  onCreate(db);
            }
      }

       public void excuteSQL(String sql, Object... bindArgs) {
             db.execSQL(sql, bindArgs);
      }

       // 插入
       public long insert(String table, String nullColumnHack, ContentValues values) {
             long rows = 0;
            rows = db.insert(table, nullColumnHack, values);
             return rows;
      }

       // 查询
       public Cursor query(String table, String[] columns, String selection,
                  String[] selectionArgs, String groupBy, String having,
                  String orderBy) {
             return db .query(table, columns, selection, selectionArgs, groupBy,
                        having, orderBy);
      }

       public Cursor query(String sql, String... selectionArgs) {
             return db .rawQuery(sql, selectionArgs);

      }

       public void destory() {
             if (db != null) {
                   db.close();
            }
      }

}


/*******************调用*****************************************/

     //查询

private List<Tuan> queryData() {
             db = new DBHelper(CollectionDetailActivity.this);
            List<Tuan> list = new ArrayList<Tuan>();
            Cursor cursor = db.query( "select * from "
                        + Constants. DETAIL_ID_TABLENAME);
             while (cursor.moveToNext()) {
                  Tuan tuan = new Tuan();
                  tuan.setDeal_id(cursor.getString((cursor.getColumnIndex( "deal_id"))));
                  tuan.setImage(cursor.getString((cursor.getColumnIndex( "image"))));
                  tuan.setBrand_name(cursor.getString((cursor
                              .getColumnIndex( "brand_name"))));
                  tuan.setShort_title(cursor.getString((cursor
                              .getColumnIndex( "short_title"))));
                  tuan.setSale_count(cursor.getString((cursor
                              .getColumnIndex( "sell_count"))));
                  tuan.setGroupon_price(cursor.getString((cursor
                              .getColumnIndex( "groupon_price"))));
                  tuan.setMarket_price(cursor.getString((cursor
                              .getColumnIndex( "market_price"))));
                  tuan.setImageBitmap(ImageUtil. getImage(tuan.getImage()));
                  list.add(tuan);
            }
             return list;
      }


     //插入
db = new DBHelper(ProductDetails.this);
                         db.excuteSQL(Constants. DETAIL_INSERT, tuan.getDeal_id(),
                                     tuan.getImage(), tuan.getBrand_name(),
                                     tuan.getShort_title(), tuan.getSale_count(),
                                     tuan.getGroupon_price(), tuan.getMarket_price());
                        Toast. makeText(ProductDetails.this, "收藏成功" , Toast.LENGTH_SHORT )
                                    .show();
Constants. DETAIL_INSERT="insert into DETAIL(deal_id,image,brand_name,short_title,sell_count,groupon_price,market_price) VALUES (?,?,?,?,?,?,?)";


0 0
原创粉丝点击