Android SQLite从列中获取值
我有一列ShopName,另一列名为LocationCode,如果LocationCode等于“SKP”,则相应的Android SQLite从列中获取值,android,sqlite,Android,Sqlite,我有一列ShopName,另一列名为LocationCode,如果LocationCode等于“SKP”,则相应的ShopName将添加到数组中,我的问题是,如何才能做到这一点 我得到了这样的东西: public List<String> getQuotes() { String WhiteFarm = "WhiteFarm"; List<String> list = new ArrayList<>(); Cursor cursor =
ShopName
将添加到数组中,我的问题是,如何才能做到这一点
我得到了这样的东西:
public List<String> getQuotes() {
String WhiteFarm = "WhiteFarm";
List<String> list = new ArrayList<>();
Cursor cursor = database.rawQuery("SELECT * FROM WhereToEat WHERE 'LocationCode' = " + WhiteFarm, null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
list.add(cursor.getString(0));
cursor.moveToNext();
}
cursor.close();
return list;
}
public class DatabaseGrabber extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.selection_main);
final TextView Shop_name = (TextView)findViewById(R.id.ShopName);
DatabaseAccess databaseAccess = DatabaseAccess.getInstance(this);
databaseAccess.open();
final List<String> ShopName = databaseAccess.getQuotes();
databaseAccess.close();
Button StartDraw = (Button)findViewById(R.id.draw_start);
StartDraw.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Collections.shuffle(ShopName);
String random = ShopName.get(0);
Shop_name.setText(random);
}
});
}
}
公共列表getQuotes(){
字符串WhiteFarm=“WhiteFarm”;
列表=新的ArrayList();
Cursor Cursor=database.rawQuery(“选择*从何处到何处'LocationCode'=”+WhiteFarm,null);
cursor.moveToFirst();
而(!cursor.isAfterLast()){
list.add(cursor.getString(0));
cursor.moveToNext();
}
cursor.close();
退货清单;
}
还有另一个类似的类:
public List<String> getQuotes() {
String WhiteFarm = "WhiteFarm";
List<String> list = new ArrayList<>();
Cursor cursor = database.rawQuery("SELECT * FROM WhereToEat WHERE 'LocationCode' = " + WhiteFarm, null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
list.add(cursor.getString(0));
cursor.moveToNext();
}
cursor.close();
return list;
}
public class DatabaseGrabber extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.selection_main);
final TextView Shop_name = (TextView)findViewById(R.id.ShopName);
DatabaseAccess databaseAccess = DatabaseAccess.getInstance(this);
databaseAccess.open();
final List<String> ShopName = databaseAccess.getQuotes();
databaseAccess.close();
Button StartDraw = (Button)findViewById(R.id.draw_start);
StartDraw.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Collections.shuffle(ShopName);
String random = ShopName.get(0);
Shop_name.setText(random);
}
});
}
}
公共类DatabaseGrabber扩展了ActionBarActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.selection_main);
最终TextView店铺名称=(TextView)findViewById(R.id.ShopName);
DatabaseAccess DatabaseAccess=DatabaseAccess.getInstance(此);
databaseAccess.open();
最终列表ShopName=databaseAccess.getQuotes();
databaseAccess.close();
按钮StartDraw=(按钮)findViewById(R.id.draw\u start);
StartDraw.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
收藏。洗牌(店名);
String random=ShopName.get(0);
商店名称.setText(随机);
}
});
}
}
如果您的LocationCode包含字符串(或SQLite的文本)类型的数据,则您的值应包含在一个引号中,如下代码所示:
Cursor cursor = database.rawQuery("SELECT * FROM WhereToEat WHERE LocationCode = " + "'" + WhiteFarm "'", null);
我们可以有代码吗?把你的代码放在这里,这将有助于更好地理解它,“从列中获取值”和“添加到数组”是两个独立的任务。哪一个是您的问题?查询ShopName,其中LocationCode='SKP'将返回游标对象。您可以迭代游标对象,并在查询中使ShopName数组中的撇号错位。