1

私は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();

アクティビティの上記のコードが機能していません。コードを修正するための時間があれば、事前に感謝します..

4

1 に答える 1

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

于 2014-02-01T14:25:55.433 に答える