查询无法使用 android 中的 WHERE 子句从多列获取数据
query fail getting data from multiple columns using WHERE clause in android
我已经尝试使用以下代码 return 多个列值与 android
中的 where 子句
public Cursor getData(String text) {
SQLiteDatabase db = this.getWritableDatabase();
String[] columns = new String[]{"Client","Action","Value","Period"};
Cursor cr = db.query("phrase_table",columns,"phrase = ?",new String[]{text},null,null,null);
return cr;
}
但是,游标 return 仅 "Client" 列值。这是光标到字符串的代码:
Cursor c = vdb.getData(text);
ArrayList<String> line= new ArrayList<>();
if (c.moveToFirst()) {
do{
line.add(c.getString(0));
}while(c.moveToNext());
}
String resc="";
for(String a:line){
resc += a;
}
Toast.makeText(this,resc,Toast.LENGTH_LONG).show();
也试过这个:
Cursor c = vdb.getData(text);
String line = "";
if (c.moveToFirst()) {
do{
line += c.getString(0);
}while(c.moveToNext());
}
Toast.makeText(this,resc,Toast.LENGTH_LONG).show();
但是结果是一样的
您正在从游标 "Client" 获取单个数据,请更新您的其他游标
的代码
if (c.moveToFirst()) {
do{
line += c.getString(0);
line += c.getString(1);
line += c.getString(2);
line += c.getString(3);
}while(c.moveToNext());
}
我已经尝试使用以下代码 return 多个列值与 android
中的 where 子句public Cursor getData(String text) {
SQLiteDatabase db = this.getWritableDatabase();
String[] columns = new String[]{"Client","Action","Value","Period"};
Cursor cr = db.query("phrase_table",columns,"phrase = ?",new String[]{text},null,null,null);
return cr;
}
但是,游标 return 仅 "Client" 列值。这是光标到字符串的代码:
Cursor c = vdb.getData(text);
ArrayList<String> line= new ArrayList<>();
if (c.moveToFirst()) {
do{
line.add(c.getString(0));
}while(c.moveToNext());
}
String resc="";
for(String a:line){
resc += a;
}
Toast.makeText(this,resc,Toast.LENGTH_LONG).show();
也试过这个:
Cursor c = vdb.getData(text);
String line = "";
if (c.moveToFirst()) {
do{
line += c.getString(0);
}while(c.moveToNext());
}
Toast.makeText(this,resc,Toast.LENGTH_LONG).show();
但是结果是一样的
您正在从游标 "Client" 获取单个数据,请更新您的其他游标
的代码if (c.moveToFirst()) {
do{
line += c.getString(0);
line += c.getString(1);
line += c.getString(2);
line += c.getString(3);
}while(c.moveToNext());
}