Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 程序不会从数据库中提取多行_Java_Android_Sqlite_Android Studio - Fatal编程技术网

Java 程序不会从数据库中提取多行

Java 程序不会从数据库中提取多行,java,android,sqlite,android-studio,Java,Android,Sqlite,Android Studio,我无法从数据库中提取多行信息。我创建和填充数据库的方式如下: String KREIRAJ_TABELU = "CREATE TABLE " + IME_TABELE + "(" + ID + " INTEGER PRIMARY KEY," + PITANJE + " TEXT," + PRVI_NETACAN + " TEXT," + DRUGI_NETACAN + " TEXT," + TRECI_NETACAN + " TEXT," + TACAN_ODGO

我无法从数据库中提取多行信息。我创建和填充数据库的方式如下:

String KREIRAJ_TABELU = "CREATE TABLE " + IME_TABELE + "("
        + ID + " INTEGER PRIMARY KEY," + PITANJE + " TEXT,"
        + PRVI_NETACAN + " TEXT," + DRUGI_NETACAN + " TEXT," + TRECI_NETACAN + " TEXT," + TACAN_ODGOVOR + " TEXT" + ")";
        db.execSQL(KREIRAJ_TABELU);
        String dodajPitanjaIOdgovore = "INSERT INTO pitanja (ID,PITANJE,PRVI_NETACAN,DRUGI_NETACAN,TRECI_NETACAN,TACAN_ODGOVOR)\n" +
                "VALUES (0,\"Ovo je prvo pitanje:\",\"Netacan odgovor\",\"Netacan odgovor\",\"Netacan odgovor\",\"Tacan odgovor\");\n" +
                "\n" +
                "INSERT INTO pitanja (ID,PITANJE,PRVI_NETACAN,DRUGI_NETACAN,TRECI_NETACAN,TACAN_ODGOVOR)\n" +
                "VALUES (1,\"Ovo je drugo pitanje:\",\"Netacan odgovor\",\"Netacan odgovor\",\"Netacan odgovor\",\"Tacan odgovor\");\n" +
                "\n" +
                "INSERT INTO pitanja (ID,PITANJE,PRVI_NETACAN,DRUGI_NETACAN,TRECI_NETACAN,TACAN_ODGOVOR)\n" +
                "VALUES (2,\"Ovo je trece pitanje:\",\"Netacan odgovor\",\"Netacan odgovor\",\"Netacan odgovor\",\"Tacan odgovor\");\n" +
                "\n" +
                "INSERT INTO pitanja (ID,PITANJE,PRVI_NETACAN,DRUGI_NETACAN,TRECI_NETACAN,TACAN_ODGOVOR)\n" +
                "VALUES (3,\"Ovo je cetvrto pitanje:\",\"Netacan odgovor\",\"Netacan odgovor\",\"Netacan odgovor\",\"Tacan odgovor\");\n" +
                "\n" +
                "INSERT INTO pitanja (ID,PITANJE,PRVI_NETACAN,DRUGI_NETACAN,TRECI_NETACAN,TACAN_ODGOVOR)\n" +
                "VALUES (4,\"Ovo je peto pitanje:\",\"Netacan odgovor\",\"Netacan odgovor\",\"Netacan odgovor\",\"Tacan odgovor\");\n" +
                "\n" +
                "INSERT INTO pitanja (ID,PITANJE,PRVI_NETACAN,DRUGI_NETACAN,TRECI_NETACAN,TACAN_ODGOVOR)\n" +
                "VALUES (5,\"Ovo je sesto pitanje:\",\"Netacan odgovor\",\"Netacan odgovor\",\"Netacan odgovor\",\"Tacan odgovor\");\n" +
                "\n" +
                "INSERT INTO pitanja (ID,PITANJE,PRVI_NETACAN,DRUGI_NETACAN,TRECI_NETACAN,TACAN_ODGOVOR)\n" +
                "VALUES (6,\"Ovo je sedmo pitanje:\",\"Netacan odgovor\",\"Netacan odgovor\",\"Netacan odgovor\",\"Tacan odgovor\");\n" +
                "\n" +
                "INSERT INTO pitanja (ID,PITANJE,PRVI_NETACAN,DRUGI_NETACAN,TRECI_NETACAN,TACAN_ODGOVOR)\n" +
                "VALUES (7,\"Ovo je osmo pitanje:\",\"Netacan odgovor\",\"Netacan odgovor\",\"Netacan odgovor\",\"Tacan odgovor\");\n" +
                "\n" +
                "INSERT INTO pitanja (ID,PITANJE,PRVI_NETACAN,DRUGI_NETACAN,TRECI_NETACAN,TACAN_ODGOVOR)\n" +
                "VALUES (8,\"Ovo je deveto pitanje:\",\"Netacan odgovor\",\"Netacan odgovor\",\"Netacan odgovor\",\"Tacan odgovor\");\n" +
                "\n" +
                "INSERT INTO pitanja (ID,PITANJE,PRVI_NETACAN,DRUGI_NETACAN,TRECI_NETACAN,TACAN_ODGOVOR)\n" +
                "VALUES (9,\"Ovo je deseto pitanje:\",\"Netacan odgovor\",\"Netacan odgovor\",\"Netacan odgovor\",\"Tacan odgovor\");";
        db.execSQL(dodajPitanjaIOdgovore);
为了获取数据库值,我创建了以下方法:

public podaciOPitanjima getPitanje(int id){
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.query(IME_TABELE, new String[]{ID, PITANJE, PRVI_NETACAN, DRUGI_NETACAN, TRECI_NETACAN, TACAN_ODGOVOR}, ID + "=?", new String[]{String.valueOf(id)}, null, null, null, null);
    podaciOPitanjima podaci = null;
    if (cursor.moveToFirst()) {
        podaci = new podaciOPitanjima(Integer.parseInt(cursor.getString(0)), cursor.getString(1), cursor.getString(2), cursor.getString(3), cursor.getString(4), cursor.getString(5));
    }
    return podaci;
}
当我想拉全部10行时,我使用这段代码:

private static List<podaciOPitanjima> pitanja = new ArrayList<podaciOPitanjima>();
    for(int i = 0; i < 10; i++){
        testPitanje = db.getPitanje(i);
        if(testPitanje != null){
            pitanja.add(testPitanje);
        }
    }
private static List pitanja=new ArrayList();
对于(int i=0;i<10;i++){
testPitanje=db.getPitanje(i);
if(testPitanje!=null){
添加(testPitanje);
}
}
它正在工作,它正在拉第一个ID的行并放入我的动态数组中,但只是第一行,不是全部10行。为什么?

报纸上说:

执行单个SQL语句


因此,您必须为每个语句调用或调用
execSQL()
。(或者打电话,或者。)

请给出完整的示例。所有代码必须在类中的方法中,就像在实际代码中一样。还要确保包含所有变量声明。我建议直接使用游标,而不是将数据放入列表中。如果在ListView中显示数据,则应使用游标适配器而不是ArrayAdapter。这是将记录加载到数组中的错误方法,为什么要连续10次查询数据库中的1条记录,将它们全部获取,然后在1次命中中填充整个数组!你能给我一段代码吗?我不太确定如何实现它,关于它有很多问题和示例代码,像这样,但好的一点是CL在下面发布的内容,填充数组的代码应该可以,除非表中只有一行!!,这就是CL在下面的回答中解释的:)在回答完is后不要改变问题。如果您想知道为什么该代码没有被执行,可以问一个新问题(该问题将作为的副本关闭)。