2011-06-28 4 views
0

SQLデータベースを使用している連絡先アプリを構築しています。私はユーザーのための検索機能を持っています。ユーザーはアルファベットのキーで検索することができ、リストはアルファベットからzまで表示されます。たとえば、ユーザーキーがtの場合、リストにはtからzまでの連絡先名が表示されます。テーブル名はcontactstable、ストア名はsnameです。以下は私のコードです。しかし、それは検索に失敗します。誰でも助けてくれますか?rawqueryの問題SQL Android

public void search(View view) { 
    cursor = db.rawQuery("SELECT _id, sname FROM contactstable WHERE sname LIKE ? ORDER BY sname COLLATE NOCASE", 
        new String[]{"["+searchText.getText().toString() + "-z]%"}); 
    adapter = new SimpleCursorAdapter(
      this, 
      R.layout.employee_list_item, 
      cursor, 
      new String[] {"sname"}, 
      new int[] {R.id.firstName}); 
    setListAdapter(adapter); 
} 

答えて

1

私はわからない、あなたが機能

Like(B, A) 

を使用する必要がSQLiteのは

A Like B 

を使用することはできませんようですあなたのコードからthe SQLite documentation

0

を参照してください、 LIKE演算子で正規表現を使用しようとしていることがわかります。 有効じゃない。