sql >> データベース >  >> RDS >> SQLite

カーソルデータを配列に入れる

    names.add(cursor.getString(i));
    

    「i」はカーソル行のインデックスではなく、列のインデックスです。カーソルはすでに特定の行に配置されています。カーソルを再配置する必要がある場合。 cursor.moveまたはmoveToXXXXを使用します(ドキュメントを参照)。

    getString / Int / Longなどの場合、必要な列をカーソルに指示するだけです。 columnIndexがわからない場合は、cursor.getColumnIndex("yourColumnName")を使用できます。 。

    ループは次のようになります:

    public String[] getContacts(){
        Cursor cursor = getReadableDatabase().rawQuery("SELECT name FROM contacts", null);
        cursor.moveToFirst();
        ArrayList<String> names = new ArrayList<String>();
        while(!cursor.isAfterLast()) {
            names.add(cursor.getString(cursor.getColumnIndex("name")));
            cursor.moveToNext();
        }
        cursor.close();
        return names.toArray(new String[names.size()]);
    }
    


    1. pg_restoreの代替-ClusterControlを使用したPostgreSQLバックアップと自動リカバリ

    2. mysql:2つの日時の間のレコード数を取得します

    3. PGpoolのガイド-ヒントと観察:パート3-

    4. xmlns:dtを使用したOPENXML