Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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 选择查询不起作用-Android Sqlite_Java_Android_Database_Sqlite - Fatal编程技术网

Java 选择查询不起作用-Android Sqlite

Java 选择查询不起作用-Android Sqlite,java,android,database,sqlite,Java,Android,Database,Sqlite,我对不返回任何值的SELECT查询有一个问题,但是如果我放置一个真正的字符串而不是一个变量,它就会工作 db.returnArray(“Hi”);//这很有效 db.returnArray(ChecklistName);//这行不通 这是代码 private void shareChecklist(String CheckListName) { // TODO Auto-generated method stub /** sharing code is working b

我对不返回任何值的SELECT查询有一个问题,但是如果我放置一个真正的字符串而不是一个变量,它就会工作

db.returnArray(“Hi”);//这很有效

db.returnArray(ChecklistName);//这行不通

这是代码

    private void shareChecklist(String CheckListName) {
    // TODO Auto-generated method stub
    /** sharing code is working but the problem with how to get the item =) */

    //Build the Share Content 
    String shareBody=sCheckList+ " item/s: \n";
    
        db = new SQLiteDB(this.getApplicationContext());
    String[] printItem =db.returnArray(CheckListName);
    
    for(int j=0;j<printItem.length;j++){
        shareBody+=printItem[j]+" \n";
    }

    //Create a Send Intent
    Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
    
    //Set the Sharing Type
     sharingIntent.setType("text/plain");

    //Pass Content to the Intent
        sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, sCheckList+" Check list,I am sharing one of my Check list On Voz App");
        sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
        
    //Create a Chooser
    startActivity(Intent.createChooser(sharingIntent, "Share via"));    
}
创建该表是为了:

String CREATE_ITEM_TABLE = "CREATE TABLE items ( "+ "id INTEGER PRIMARY KEY AUTOINCREMENT  , " + "checklistName TEXT, "+ "itemname TEXT, " + "flag INTEGER, " + "esttime TEXT )";
db.execSQL(CREATE_ITEM_TABLE);

您选择的字段的目标不正确。
由于您正在创建此字段:

checklistidx
如你的:

String CREATE_ITEM_TABLE = "CREATE TABLE items ( "+ "id INTEGER PRIMARY KEY AUTOINCREMENT  , " + "checklistidx TEXT, "+ "itemname TEXT, " + "flag INTEGER, " + "esttime TEXT )";
选择该字段的目标位置:

String query="SELECT * FROM items WHERE checklistidx = '"+ checkName + "'";
而不是

String query="SELECT * FROM items WHERE checklistName = '"+ checkName + "'";

您是否尝试调试
CheckListName
的值?请提供更多信息。你试过什么?CheckListName的值是多少?你会犯什么错误?简单地说它不起作用是非常模糊的,很难提供帮助。您能显示创建表的代码吗?只需删除单个引号try in rawquery(query,new string[]{checklist}和“SELECT*FROM items where checklistName=?”;如果它不起作用,请参阅chk ur db或post ur ERROR我只是将此处更改为checklistName以使查询非常易懂,但在我在每个部分使用checklistidx=)的代码中,如果此更改导致错误,则不应更改代码以使其“更易懂”。
String query="SELECT * FROM items WHERE checklistName = '"+ checkName + "'";