中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中如何實現sqlite查詢數據時去掉重復值

發布時間:2021-07-22 14:54:56 來源:億速云 閱讀:252 作者:小新 欄目:移動開發

小編給大家分享一下Android中如何實現sqlite查詢數據時去掉重復值,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1、方式一:

/**
     * 參數一:是否去重
     * 參數二:表名
     * 參數三:columns 表示查詢的字段,new String[]{MODEL}表示查詢該表當中的模式(也表示查詢的結果)
     * 參數思:selection表示查詢的條件,PHONE_NUMBER+" = ?" 表示根據手機號去查詢模式
     * 參數五:selectionArgs 表示查詢條件對應的值,new String[]{phoneNumber}表示查詢條件對應的值
     * 參數六:String groupBy 分組
     * 參數七:String having
     * 參數八:orderBy 表示根據什么排序,
     * 參數九:limit 限制查詢返回的行數,NULL表示無限制子句
     **/
    Cursor cursor = readableDatabase.query(true,TABLE_NAME, new String[]{DESCRIPTION,ID,IMAGE_URL,LATITUDE,LONGITUDE,NAME,NEED_AUDIO,SPOT_TYPE,TGROUP,AUDIO_NAME,AREA_NAME}, AREA_NAME + " = ?", new String[]{areaName}, null, null, null,null);

全部查詢代碼如下:

  /**
   * 根據景區名稱查詢景點數據
   * @param areaName
   * @return 0:未查詢到攔截模式(也就是該手機號沒有設置攔截模式) 1:攔截短信 2:攔截電話 3:攔截所有
   **/
  public List<ScenicSpot> getScenicAreas(String areaName){
    ArrayList<ScenicSpot> scenicSpotList = new ArrayList<>();
    String model = "0";
    SQLiteDatabase readableDatabase = mSmartTourSQLiteOpenHelper.getReadableDatabase();
    /**
     * 參數一:是否去重
     * 參數二:表名
     * 參數三:columns 表示查詢的字段,new String[]{MODEL}表示查詢該表當中的模式(也表示查詢的結果)
     * 參數思:selection表示查詢的條件,PHONE_NUMBER+" = ?" 表示根據手機號去查詢模式
     * 參數五:selectionArgs 表示查詢條件對應的值,new String[]{phoneNumber}表示查詢條件對應的值
     * 參數六:String groupBy 分組
     * 參數七:String having
     * 參數八:orderBy 表示根據什么排序,
     * 參數九:limit 限制查詢返回的行數,NULL表示無限制子句
     **/
    Cursor cursor = readableDatabase.query(true,TABLE_NAME, new String[]{DESCRIPTION,ID,IMAGE_URL,LATITUDE,LONGITUDE,NAME,NEED_AUDIO,SPOT_TYPE,TGROUP,AUDIO_NAME,AREA_NAME}, AREA_NAME + " = ?", new String[]{areaName}, null, null, null,null);
    while (cursor.moveToNext()){
      ScenicSpot scenicSpot = new ScenicSpot();
      String description = cursor.getString(cursor.getColumnIndex(DESCRIPTION));
      String id = cursor.getString(cursor.getColumnIndex(ID));
      String image_url = cursor.getString(cursor.getColumnIndex(IMAGE_URL));
      String latitude = cursor.getString(cursor.getColumnIndex(LATITUDE));
      String longitude = cursor.getString(cursor.getColumnIndex(LONGITUDE));
      String name = cursor.getString(cursor.getColumnIndex(NAME));
      String need_audio = cursor.getString(cursor.getColumnIndex(NEED_AUDIO));
      String spot_type = cursor.getString(cursor.getColumnIndex(SPOT_TYPE));
      String tgroup = cursor.getString(cursor.getColumnIndex(TGROUP));
      String audio_name = cursor.getString(cursor.getColumnIndex(AUDIO_NAME));
      String area_name = cursor.getString(cursor.getColumnIndex(AREA_NAME));
      scenicSpot.setDescription(description);
      scenicSpot.setId(id);
      scenicSpot.setImageurl(image_url);
      scenicSpot.setLatitude(latitude);
      scenicSpot.setLongitude(longitude);
      scenicSpot.setName(name);
      scenicSpot.setNeedAudio(need_audio);
      scenicSpot.setSpotType(spot_type);
      scenicSpot.setTgroup(tgroup);
      scenicSpot.setAudioname(audio_name);
      scenicSpot.setAreaName(area_name);
      scenicSpotList.add(scenicSpot);
    }
    cursor.close();
    readableDatabase.close();
    return scenicSpotList;
  }

方式二:

String sql = "select distinct "
   + TYPENAME
   + " from "
   + TABLE_NAME 
   + " ORDER BY " + TYPE + " ASC";
  Cursor c = db.rawQuery(sql, null);

完整代碼:

 /**
 * @return 所有組織結構名稱
 **/
 public static List<String> queryTypeNames() {
 synchronized (DatabaseHelper.lock) {
  List<String> types = null;
  SQLiteDatabase db = DatabaseHelper.getInstance().getReadableDatabase();
  try {
  String sql = "select distinct "
   + TYPENAME
   + " from "
   + TABLE_NAME 
   + " ORDER BY " + TYPE + " ASC";
  Cursor c = db.rawQuery(sql, null);
  while (c.moveToNext()) {
   String type = c.getString(c.getColumnIndex(TYPENAME));
   if (types == null) {
   types = new ArrayList<String>();
   }
   if (type != null && type.length() > 1) {
   types.add(type);
   }
  }
  db.close();
  return types;
  } catch (Exception e) {
  db.close();
  }
  return types;
 }
 }

以上是“Android中如何實現sqlite查詢數據時去掉重復值”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐清市| 志丹县| 新源县| 思南县| 阳原县| 昭平县| 休宁县| 凭祥市| 湖州市| 开阳县| 会昌县| 晴隆县| 玉树县| 象山县| 诏安县| 普格县| 黄大仙区| 呼伦贝尔市| 红原县| 西吉县| 女性| 虹口区| 阜南县| 清水河县| 洞头县| 福州市| 交城县| 连山| 图木舒克市| 桐乡市| 青铜峡市| 康马县| 沈丘县| 黄山市| 额敏县| 嘉善县| 天全县| 平舆县| 正安县| 商都县| 云霄县|