Android 列表视图的内部联接问题

Android 列表视图的内部联接问题,android,sqlite,listview,cursor,Android,Sqlite,Listview,Cursor,我有一个listview,当我在创建时调用SQL查询内部联接时,它什么也不做,也没有发生错误 public Cursor getBankBranch() { Cursor cursor; SQLiteDatabase db = mDbHelper.getReadableDatabase(); String selectQuery = "SELECT * FROM " + DataEntry.BRANCH_TABLE_NAME + " INNER JOIN

我有一个listview,当我在创建时调用SQL查询内部联接时,它什么也不做,也没有发生错误

        public Cursor getBankBranch() {
    Cursor cursor;
    SQLiteDatabase db = mDbHelper.getReadableDatabase();
    String selectQuery = "SELECT  * FROM " + DataEntry.BRANCH_TABLE_NAME + " INNER JOIN  " 
            + DataEntry.BANK_TABLE_NAME + " ON " 
            + DataEntry.BANK_TABLE_NAME + "." + DataEntry.COLUMN_BANK_ID + "  = " 
            + DataEntry.BRANCH_TABLE_NAME + "." + DataEntry.COLUMN_BRANCH_BANK_ID;
    cursor = db.rawQuery(selectQuery, null);
    cursor.moveToFirst();
    cursor.close();
    return cursor;
}
这是表格的内容

            String SQL_CREATE_BANK_TABLE = "CREATE TABLE " + DataEntry.BANK_TABLE_NAME + " ("
            + DataEntry.COLUMN_BANK_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
            + DataEntry.COLUMN_BANK_NAME + " TEXT );";

    String SQL_CREATE_BRANCH_TABLE = "CREATE TABLE " + DataEntry.BRANCH_TABLE_NAME + " ("
            + DataEntry.COLUMN_BRANCH_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
            + DataEntry.COLUMN_BRANCH_NAME + " TEXT , "
            + DataEntry.COLUMN_BRANCH_NUMBER + " TEXT , "
            + DataEntry.COLUMN_BRANCH_ADDRESS + " TEXT, "
            + DataEntry.COLUMN_BRANCH_BANK_ID + " INTEGER );";

    // Execute the SQL statement
    db.execSQL(SQL_CREATE_BANK_TABLE);
    db.execSQL(SQL_CREATE_BRANCH_TABLE);

您只需获取指向结果集的光标,然后将其移动到第一个结果,然后关闭它,但实际上并不使用它

让它工作的步骤

进行选择查询

String selectQuery = "SELECT ..."
执行查询以获取游标

cursor = db.rawQuery(selectQuery, null);
创建游标适配器

MyCursorAdapter adapter = new MyCursorAdapter(this, cursor);
设置ListView的适配器

list.setAdapter(adapter);

您的分析是100%正确的,我进行了您编写的编辑,但listview查看所有数据的方式与我们没有添加内部联接查询的方式相同。请添加两个表(银行、分行)的内容。您没有在其中插入任何内容吗?非常感谢,问题是我声明了getLoaderManager().initLoader(1,null,this);在onCreate结束时,我删除了它,问题解决了。你有没有办法将它与你给我的查询一起使用?请你检查一下这个链接@minasameh