Java 选择查询不起作用-Android Sqlite
我对不返回任何值的SELECT查询有一个问题,但是如果我放置一个真正的字符串而不是一个变量,它就会工作 db.returnArray(“Hi”);//这很有效 db.returnArray(ChecklistName);//这行不通 这是代码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
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 + "'";