0
我正在搜索表中多列中出现的单词(变量)。搜索必须返回找到的单词列的名称。
我可以使用foreach循环单独遍历每列,并在返回的游标不为空时知道该特定列中单词的存在。
问题是如何在SQL查询或rawQuery中使用两个不同的变量(一个用于列名和一个用于单词)。在sql查询中为列名使用变量
我的代码如下:
String[] columnsList = {"col1","col2","col3"};
String[] wordsList = {"fireman","camper","builder"};
for(String i : wordsList){
for(String j : columnsList){
Cursor wordQuery = myDatabaseHandle.rawQuery("Select * from myTableOne WHERE " + j + " = ?",new String[]{i});
if(!(wordQuery==null)){
Toast.makeText(this,j+"is success",Toast.LENGTH_SHORT).show();
}
}
}
但我无法得到答案。我用一个单独的字符串:
String queryString = "Select * from myTableOne WHERE " + j ;
,并在查询中,
Cursor WordQuery = myDatabaseHandle.rawQuery(queryString+" = ?",new String[]{i});
但是,它只是敬酒所有列的名称。
貌似完美的答案。 –
@IntelliJAmiya谢谢,亲爱的! –
谢谢。但我使用查询,而不是rawQuery,它的工作完美。我不知道光标不能为空。这是一个新的东西了解:)现在我会改变它。 – Dante