0

この例 ( https://stackoverflow.com/a/9109728/2808099 ) を使用して、データベースを接続しました。しかし、このデータベースで検索を整理することはできませんでした。EditText からの要求を伝え、結果を textView (または ListView) に表示しようとしています。

主な活動

public void LoadAddress(View v)
    {

        searchAddress = editTextSearch.getText().toString();

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


         Cursor testdata = mDbHelper.getTestData("SELECT * FROM Address " +searchAddress+"';", null);
        String address=testdata.getString(1).toString();
        textView.setText(address); 
        mDbHelper.close();
    }

テストアダプター

  public Cursor getTestData(String s, Object o)
{

    try
    {

        String sql ="SELECT * FROM Address";

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

EditText の内容に関係なく、データベースからの出力の最初の行

4

1 に答える 1

0

いつも「select * from Address」と呼んでいます。これは常にすべてを照会します。

String userInp = editTextSearch.getText().toString();

String query = "select * from Addresses where address = " + userInp; 

Cursor cursor= mDbHelper.getDb().rawQuery(query, null);

if (null != cursor)
    cursor.moveToFirst();

String output = cursor.getString(1);

Android の優れたチュートリアルは次のとおりです。 http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/

このような単純なクエリには、生の sql ではなく、パラメーターを使用したクエリの使用を検討することをお勧めします。

ここで SQL を学ぶことができます: http://www.w3schools.com/sql/

于 2013-10-01T20:24:19.843 に答える