У меня есть база данных SQlite с некоторыми столбцами и содержимым EditText. Я хотел бы выбрать несколько строк из базы данных.
В основной деятельности:
case R.id.betx:
String dates2 = sqletx.getText().toString();
GlobalVars.settables(dates2);
Intent intentstar2t = new Intent(dbhelp.this, CustomList.class);
startActivity(intentstar2t);
break;
Это мое основное занятие, строка 'date2' - это содержимое текста редактирования, и я сохраняю его для метода setTables.
Мой код в классе hornot, где:
public Cursor getTable() {
String deda = GlobalVars.gettables();
String[] columns = new String[]{KEY_ROWID, KEY_NAME, KEY_HOTNESS,
KEY_CALORIE, KEY_MULTI, KEY_DATE};
return ourDatabase.query(DATABASE_TABLE, columns, KEY_DATE + "=" + deda ,
null, null, null, null);
}
Здесь я создаю Курсор для строк, которые отвечают требованиям в последней строке. Строка deda будет «date2», который мы установили ранее, и я хотел бы получить строки, в которых KEY_DATE эквивалентен date2.
Операция просмотра списка, в которой я перечисляю подходящие строки.
if (todoItems.size() > 0) {
todoItems.clear();
}
if (list.size() > 0) {
list.clear();
}
Cursor c = info.getTable();
c = info.getTable();
if (c.moveToFirst())
{
do{
todoItems.add(c.getString(0) + " " + c.getString(1) + " " + c.getString(2)+ " " + c.getString(3)+ " " + c.getString(4));
quanitems.add(c.getString(4));
}
while (c.moveToNext());
}
if (todoItems.size() > 0)
{
for (int i=0; i<todoItems.size(); i++)
{
each=new EachRow();
each.text=(String) todoItems.get(i);
list.add(each);
each2=new EachRow();
each2.text=(String) quanitems.get(i);
list2.add(each2);
}
listView.setAdapter(new MyAdapter(this, 0, list));
}
Я использую пользовательский просмотр списка, в каждой строке есть несколько элементов, но суть в том, что я создаю курсор (c) для строк, где KEY_DATE эквивалентен date2.
Моя проблема в том, что я никогда не определяю здесь целочисленную переменную, но если я создаю запись, в которой дата, например, «107» или «6519684», она работает, но если это «tableOne» или любой текст, он разбивает ряд:
return ourDatabase.query(DATABASE_TABLE, columns, KEY_DATE + "=" + deda , null, null, null, null);
и
Cursor c = info.getTable();
(как видите, обе проблемы связаны с методом getTable.
Я использую только строки, поэтому практически числа ("107") также являются строками.
Есть идеи?
Заранее спасибо!