如何使用2字符串参数从sqlite返回字符串?
问题描述:
这里是我使用该字符串如何使用2字符串参数从sqlite返回字符串?
String item = item1.getText().toString();
item = item.toLowerCase();
String date = getDate();
Datahelper edited = new Datahelper(this);
edited.open();
String returnedprice = edited.getprice(item,date);
String returneddetail = edited.getdetail(item,date);
edited.close();
price.setText(returnedprice);
details.setText(returneddetail);
代码,这是我在sqlite的
public String getprice(String item ,String date) {
// TODO Auto-generated method stub
String[] columns = new String[]{KEY_ROWID, KEY_CATEGORY,KEY_DATE,KEY_PRICE,KEY_DETAILS};
String whereClause = KEY_CATEGORY + " = ? and " + KEY_DATE + " = ?";
String[] whereArgs = {item,date};
Cursor c = ourDatabase.query("DATABASE_TABLE", columns, whereClause, whereArgs, null, null, null);
if(c!=null){
String price = c.getString(c.getColumnIndex(KEY_PRICE));
return price;
}
return null;
}
public String getdetail(String item, String date) {
// TODO Auto-generated method stub
String[] columns = new String[]{KEY_ROWID, KEY_CATEGORY,KEY_DATE,KEY_PRICE,KEY_DETAILS};
String whereClause = KEY_CATEGORY + " = ? and " + KEY_DATE + " = ?";
String[] whereArgs = {item, date};
Cursor c = ourDatabase.query("DATABASE_TABLE", columns, whereClause, whereArgs, null, null, null);
if(c!=null){
String detail = c.getString(c.getColumnIndex(KEY_DETAILS));
return detail;
}
return null;
}
方法我的应用程序被使用此代码时崩溃,,我不知道啥子是错的代码,如果任何人都需要我可以张贴整个代码请帮我
答
列索引没有任何共同之处与返回集:
String price = c.getString(c.getColumnIndex(KEY_PRICE));
在c
你只有5列(0〜4)(String[] columns = new String[]{KEY_ROWID, KEY_CATEGORY,KEY_DATE,KEY_PRICE,KEY_DETAILS};
)和c.getColumnIndex(KEY_PRICE)
返回这可能高于4
,而不是
String price = c.getString(c.getColumnIndex(KEY_PRICE));
表中的实际索引尝试
String price = c.getString(3);
答
的corect代码 -
public String getprice(String item ,String date) {
// TODO Auto-generated method stub
String[] columns = new String[]{KEY_ROWID, KEY_CATEGORY,KEY_DATE,KEY_PRICE,KEY_DETAILS};
String whereClause = KEY_CATEGORY + " = ? and " + KEY_DATE + " = ?";
String[] whereArgs = {item,date};
Cursor c = ourDatabase.query("DATABASE_TABLE", columns, whereClause, whereArgs, null, null, null);
if(c!=null){
c.moveToFirst();
String price = c.getString(c.getColumnIndex(KEY_PRICE));
return price;
}
return null;
}
public String getdetail(String item, String date) {
// TODO Auto-generated method stub
String[] columns = new String[]{KEY_ROWID, KEY_CATEGORY,KEY_DATE,KEY_PRICE,KEY_DETAILS};
String whereClause = KEY_CATEGORY + " = ? and " + KEY_DATE + " = ?";
String[] whereArgs = {item, date};
Cursor c = ourDatabase.query("DATABASE_TABLE", columns, whereClause, whereArgs, null, null, null);
if(c!=null){
c.moveToFirst();
String detail = c.getString(c.getColumnIndex(KEY_DETAILS));
return detail;
}
return null;
}
你可以添加logcat吗? – fedepaol 2013-03-10 19:28:21
@fedepaol我在Android的非常新,我不知道它在哪里居住,,告诉我怎么弄.. – scripter 2013-03-10 19:32:49
这是你从亚行获得视图在Eclipse – fedepaol 2013-03-10 19:33:17