3

インドのナンバープレートを探すアプリを作っています。私のデータベースには2つの列「コード」と「都市」コードが含まれ、MH1、MH2などのデータが含まれ、都市にはプネ、ムンバイなどのデータが含まれます。

アプリには、1 つの編集テキスト ボックスとリストビューが含まれています。

Listview は、GJ3 Rajkot、GJ10 Jamnagar などのデータベースからの全データで構成されています。

edittext ボックス全体に GJ を記述した場合、GJ のデータのみをリストビューに表示する必要があります。

4

2 に答える 2

2

これを試して :

Cursor c = mDb.rawQuery(
            "select * from table_name where column_name = ?",
            new String[] { "search" });

編集 :

上記のリンクのチュートリアルに従って、以下のメソッドを TestAdapter に追加します

public Cursor get_tag_Data()
 {
     try
     {
         String sql ="select * from table_name where column_name = ?", new String[] { edittext.getText().toString().trim()}";

         Cursor mCur = mDb.rawQuery(sql, null);
         if (mCur!=null)
         {
            mCur.moveToNext();
         }
         return mCur;
     }
     catch (SQLException mSQLException) 
     {
         Log.e(TAG, "getTestData >>"+ mSQLException.toString());
         throw mSQLException;
     }
 }

次のようにクラスからこのメソッドを呼び出します。

 TestAdapter mDbHelper = new TestAdapter(urContext);        
 mDbHelper.createDatabase();      
mDbHelper.open();

Cursor testdata = mDbHelper.get_tag_Data();

mDbHelper.close();

編集:

以下のメソッドをデータベース クラスに宣言します。

 public List<String> getQuestions(String difficulty) {

   public static List<String> question_Set;
    question_Set = new ArrayList<String>();


    Cursor c = mDb.rawQuery(
            "select * from table_name where column_name = ?", new String[] { difficulty });

    while (c.moveToNext()) {

        question_Set.add(c.getString(1).trim());


    }

    return question_Set;
}

今のように呼び出します

DB.getQuestions(edittext.getText().toString().trim()); // DB is your database class name
于 2012-10-11T09:09:10.330 に答える
2

クエリは次のとおりです: SELECT * FROM table_name WHERE codeLIKE '%GJ%' LIMIT 0 , 30

于 2012-10-11T09:05:18.697 に答える