我有一个名为wisherDB的数据库,我在数据库中有一个名为tbltasks的表。
表中只有id
,title
,name
,date
,time
和type
的colmmn名称。我想得到id,name和与当前日期相关的时间,我可以通过Calendar类访问当前日期,这不是问题所在。
选择代码位于一个名为DataAccess
的单独类中,代码如下所示。
我想要做的是从查询中获取详细信息并将其显示在tableview上。我试过这个没有选择date [where子句] [这意味着选择* from ...]正在为此工作。
但是通过选择,它没有显示数据。
DatabaseAccess类选择查询:
public Cursor getTasktoDate(String Date) throws SQLException
{
Cursor mCursor=db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_TASKNAME,KEY_TASKTYPE}, KEY_TASKDATE+"="+ Date, null, null, null, null, null);
if(mCursor!=null)
{
mCursor.moveToFirst();
}
return mCursor;
}
这是活动的代码:
Cursor c=dba.getTasktoDate("2011/10/12");
if (c.moveToFirst())
{
do {
DisplayContact(c, tltodaytask);
} while (c.moveToNext());
}
dba.Close();
}
private void DisplayContact(Cursor c, TableLayout tltodaytask) {
// TODO Auto-generated method stub
String id=c.getString(0);
String tName=c.getString(1);
String tType=c.getString(2);
insertRow(tltodaytask,id,tName,tType);
}
private void insertRow(TableLayout tltodaytask, String id, String tName,
String tType) {
// TODO Auto-generated method stub
final TableRow newrow = new TableRow(this);
addTexttoRowswithValues(newrow, id);
addTexttoRowswithValues(newrow, tName);
addTexttoRowswithValues(newrow, tType);
tltodaytask.addView(newrow);
}
private void addTexttoRowswithValues(TableRow newrow, String text) {
// TODO Auto-generated method stub
TextView textview = new TextView(this);
textview.setWidth(115);
textview.setText(text);
newrow.addView(textview);
}
此方法不起作用。
答案 0 :(得分:2)
你有问题
Cursor mCursor=db.query(true, DATABASE_TABLE,
new String[] {KEY_ROWID,KEY_TASKNAME,KEY_TASKTYPE},
KEY_TASKDATE+"="+ Date, null, null, null, null, null);
你应该使用
Cursor mCursor=db.query(true, DATABASE_TABLE,
new String[] {KEY_ROWID,KEY_TASKNAME,KEY_TASKTYPE},
KEY_TASKDATE+"= ?", new String[]{Date}, null, null, null, null);