如何从数据库中检索android中的特定行

时间:2012-08-24 16:42:59

标签: sqlite

我正在开发bmi计算器应用程序,在这个应用程序中我将人员的详细信息存储到sqlite数据库..但问题是当我试图获取使用搜索按钮的任何人的记录..在活动.. 帮我纠正活动中的代码

在数据库中我使用了以下代码..

public Cursor getContact(String candidate) throws SQLException

{

    //db.
Cursor  mCursor =db.query(true,TABLE_NAME,new String[]{CANDIDATE_NAME,CANDIDATE_FATHER,CANDIDATE_HEIGHT,CANDIDATE_WEIGHT,CANDIDATE_BMI},CANDIDATE_NAME+"=?", null, null, null, null, null);

if (mCursor != null) {
    mCursor.moveToFirst();
   }
return mCursor;
}   
}

在活动中检索我在代码后使用的记录..

try{
dbadapter.open();
EditText et=(EditText)findViewById(R.id.et);
st=et.getEditableText().toString();
//int n=Integer.parseInt(st);
Cursor c=dbadapter.getContact(st);

    //c.moveToFirst();
//TextView tv1=(TextView)findViewById(R.id.tv1);
Toast.makeText(getApplicationContext(),"Name : "+c.getString(0)+"\n" +"Father's Name : "+c.getString(1)+"\n"+"Height : "+c.getString(2)+"\n"+"Weight : "+c.getString(3)+"\n"+"BMI : "+c.getString(4),5000).show();
    //Toast.makeText(getApplicationContext(), "searching", 5000).show();


dbadapter.close();

活动中的上述代码无法正常工作,有时间在此更正代码并提前感谢..

1 个答案:

答案 0 :(得分:0)

您似乎缺少sqlite查询的参数。 在线:

Cursor mCursor =db.query(true,TABLE_NAME,new String[]{CANDIDATE_NAME,CANDIDATE_FATHER,CANDIDATE_HEIGHT,CANDIDATE_WEIGHT,CANDIDATE_BMI},CANDIDATE_NAME+"=?", null, null, null, null, null);

如果方法参数null是您的候选名称,请按new String[]{candidate)替换第一个candidate