本帖最后由 zdxxinlang 于 2014-04-25 18:20:44 编辑

解决方案 »

  1.   

    代码贴全了吗?你确定Qindex不是个空表里面有数据?
      

  2.   

    lz看看这个吧,你的代码我粗略地看了一下只看到create了一个空表来读取,没看到读源数据库
      

  3.   

    我把
    public void onCreate(SQLiteDatabase db) {
            db.execSQL("create table Qindex (type char,    year char,month char,roll char,qIndex char)");
            db.execSQL("create table Qquestions (isImport int,isWrong int,xmlFileName string,isCollection int,id int , kind string, answer string, analysis string)");
        }
    里面的建表语句去掉了,然后卸载了他,再从装了一遍,那按说没数据库就查不出列数了吧,但cursor.getColumnCount()它还是会返回正常的数字。。
      

  4.   

    推荐给你一个android数据库方面操作的第三方库完全面向对象的操作sqlite数据库https://code.google.com/p/mokadb/
      

  5.   

    我发现问题了,我的数据库放在工程目录下的res\raw下了,但安装后apk不会把它解压出来,我把数据库文件放在模拟器里的res\raw下它就能查出来了。
    安装程序的时候把apk包里的文件复制到模拟器里就行了。
    尽然被这种问题困扰了这么长时间,我还是不行呐。不过还是要谢谢各位大神帮我分析喽。