2015-11-04 58 views
-5

此语法是否正确以从表中获取特定列?表格名称 - FI_GOODS_DETAIL_TABLE,列名称-FIGOODSDETAIL_FINISHGOODS ...查询语法确认

“select”+ FIGOODSDETAIL_FINISHGOODS +“from”+ FI_GOODS_DETAIL_TABLE +“;”;

和AM存储arrray

public List<String> getAllLabels(){ 
      List<String> labels = new ArrayList<String>(); 

      // Select All Query 
      String selectQuery = "select " + FIGOODSDETAIL_FINISHGOODS + "from " + FI_GOODS_DETAIL_TABLE + ";"; 
      try { 
      SQLiteDatabase db = this.getReadableDatabase(); 
      Cursor cursor = db.rawQuery(selectQuery, null); 
      } catch (Exception exe) { 
       exe.printStackTrace(); 
       db.endTransaction(); 
       Log.e("Insertion failed", 
         "Transaction failure when inserting login data."); 
       this.closeDatabase(); 
       Log.i("DB closed", "Database closed successfully."); 
       errCode = "Err-DB-06"; 
       LogFileCreator.appendLog(errCode + " : " + exe.getMessage()); 
      } 

      // looping through all rows and adding to list 
      if (cursor.moveToFirst()) { 
       do { 
        labels.add(cursor.getString(1)); 
       } while (cursor.moveToNext()); 
      } 

      // closing connection 
      cursor.close(); 
      db.close(); 

      // returning lables 
      return labels; 
     } 
+0

是什么使你认为这是不正确的语法? – JimmyB

+0

我没有在我的数组中获取值 –

+0

如果它不是正确的语法,你会得到一个异常告诉你。 – JimmyB

回答

1

列值试试这样说:

public List<String> getAllLabels() throws SQLiteException { 
     List<String> labels = new ArrayList<String>(); 

     // Select All Query 
     String selectQuery = "select " + FIGOODSDETAIL_FINISHGOODS + " from " + FI_GOODS_DETAIL_TABLE ; 

     SQLiteDatabase db = this.getReadableDatabase(); 

     try { 

      Cursor cursor = db.rawQuery(selectQuery, null); 

      // looping through all rows and adding to list 
      if (cursor.moveToFirst()) { 
      do { 
       labels.add(cursor.getString(1)); 
      } while (cursor.moveToNext()); 
      } 

      cursor.close(); 

     } catch (RuntimeException exe) { 

      exe.printStackTrace(); 

      this.closeDatabase(); // What does this do that db.close() does not? 
      errCode = "Err-DB-06"; 
      LogFileCreator.appendLog(errCode + " : " + exe.getMessage()); 

      throw exe; 

     } finally { 
      db.close(); 
     } 

     // returning lables 
     return labels; 
    }