Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.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
Android 从游标获取表信息(存在/不存在)_Android - Fatal编程技术网

Android 从游标获取表信息(存在/不存在)

Android 从游标获取表信息(存在/不存在),android,Android,在我的活动中,我需要检查我使用的表是否存在 Cursor cursor = marksdb.rawQuery("SELECT count(*) FROM sqlite_master WHERE type='table' AND name='"+classt+"'", null); if(cursor.getCount()==1){ // get values from cursor here callclasstb(); } els

在我的活动中,我需要检查我使用的表是否存在

 Cursor cursor = marksdb.rawQuery("SELECT count(*) FROM sqlite_master WHERE type='table' AND name='"+classt+"'", null);
if(cursor.getCount()==1){
        // get values from cursor here
         callclasstb();
        }
     else{
         tv.setVisibility(View.VISIBLE);
        subjectet.setEnabled(false);
        markset.setEnabled(false);
        markssp.setEnabled(false);
     }
如果表存在,我得到1;否则为0 为此,我需要在光标中检查im使用的值

 Cursor cursor = marksdb.rawQuery("SELECT count(*) FROM sqlite_master WHERE type='table' AND name='"+classt+"'", null);
if(cursor.getCount()==1){
        // get values from cursor here
         callclasstb();
        }
     else{
         tv.setVisibility(View.VISIBLE);
        subjectet.setEnabled(false);
        markset.setEnabled(false);
        markssp.setEnabled(false);
     }
但在所有情况下,我都会得到值1,因为getcout()返回值1和r 0

callclasstb();
如果{…}使其执行

cursor,则未执行我需要写入的条件。在您的情况下,getCount()
将始终返回1(结果集中的“行数”)。您需要找出通过光标返回的内容

     Cursor cursor = marksdb.rawQuery(...);
     cursor.moveToFirst(); // first "row"
     int nTableExists = cursor.getInt(0);
     cursor.close();

     if (nTableExists) { // != 0
        ...do something...
     }

您是否从shell运行查询并验证其正确性?