2016-05-01 2 views
0

のは、私はそうのようなSQLiteのテーブルがあるとしましょう:SQLiteの

public static final String DataBaseName = "test1.db"; 
    public static final String DataTableName = "jobsTable"; 
    public static final String ColID = "ID"; 
    public static final String ColPlace = "placeName"; 
    public static final String ColPosition = "position"; 
    public static final String ColStartingTime = "startingTime"; 
    public static final String ColHours = "hours"; 
    public static final String ColAddress = "address"; 
    public static final String ColPhoneNumber = "phoneNumber"; 

私はすでに1行のクエリを記述し、ArrayListの内部の値を格納する方法を知っています。ベローコードは、placeName列のすべてのメンバーを取得し、arraylistに格納します。例えば

"placename1","placeName2","placeName3","placeName4",... 

コード:

public ArrayList<String> getAllPlacesNames() { 
     SQLiteDatabase db = this.getWritableDatabase(); 
     Cursor result = db.rawQuery("select placeName FROM " + DataTableName,null); 
     ArrayList<String> companyNames = new ArrayList<String>(); 

     while(result.moveToNext()) { 
      String places = result.getString(result.getColumnIndex("placeName")); 
      companyNames.add(places); 
     } 

     return companyNames; 
    } 

私は好きなものを2つの列(PlaceNameposition)から値を取得する上記のようなメソッドを記述し、それらを格納しようとしている:

"placeName1/position1","placeName2/position2","placeName3/position3","placeName4/position4",... 

これはどうすればできますか?ありがとうございます

+0

なぜそれをしたいですか?結果を直接処理するほうが簡単ではありませんか? – e4c5

答えて

0
public ArrayList<String> getAllCompanyPositionsAndNamesAndPhone() { 
     SQLiteDatabase db = this.getWritableDatabase(); 
     Cursor result = db.rawQuery("select placeName, position, startingTime FROM " + DataTableName,null); 
     ArrayList<String> companyPositions = new ArrayList<String>(); 
     while(result.moveToNext()) { 
      String position = result.getString(result.getColumnIndex("position")); 
      String places = result.getString(result.getColumnIndex("placeName")); 
      String phoneNum = result.getString(result.getColumnIndex("startingTime")); 
      String merged = places + "/" + position + "\n" + "Starts on: " + phoneNum; 
      companyPositions.add(merged); 

     } 
     return companyPositions; 
0

私はキー/値のデータを保存するために使用することをお勧めしますこれは私のソリューションです。

public ArrayList<String> getAllPlacesNames() { 
SQLiteDatabase mydb = this.getWritableDatabase(); 
Cursor result = mydb.rawQuery("select placeName, position FROM " + DataTableName,null); 

HashMap<String, Integer> data= new HashMap<String, String>(); 

while(result.moveToNext()) { 


map.put(result.getString(result.getColumnIndex("placeName")), result.getString(result.getColumnIndex("position"))); 

} 

H @ ppy c0de !!

関連する問題