EditText
ボックスの値を使用して、をフィルタリングしたいと思いますListView
。
私のコーディングを見て、それを機能させるために他に何をする必要があるか教えていただけますか?
これまでのところ、0行のみを返します。
Sub ButtonSearchFilterEventHandler_Click
' Populate the list.
'-------------------
DBUtils.ExecuteListView(SQL, "SELECT Id, ResultDescription " & _
"FROM VisitResultTypes " & _
"WHERE ResultDescription = ? " & _
"ORDER BY ResultDescription", _
Array As String(EditTextResultDescription.Text), 0, _
ListViewResults, True)
End Sub
追加のサブルーチン:
Sub Activity_Create(FirstTime As Boolean)
SQL.ExecNonQuery("CREATE TABLE VisitResultTypes " & _
"(Id INTEGER PRIMARY KEY, ResultDescription TEXT)")
End Sub
これは動作します。すべてのテーブル行が表示されます。
Sub PopulateTheListView
' Populate the list.
'-------------------
DBUtils.ExecuteListView(SQL, "SELECT Id, ResultDescription " & _
"FROM VisitResultTypes " & _
"ORDER BY ResultDescription", _
Null, 0, ListViewResults, True)
End Sub
これを試しましたが、EditTextボックスに何を入力しても、すべての行が返されます。
Sub ButtonSearchFilterEventHandler_Click
' Populate the list.
'-------------------
DBUtils.ExecuteListView(SQL, "SELECT Id, ResultDescription " & _
"FROM VisitResultTypes " & _
"WHERE ResultDescription LIKE ? " & _
"ORDER BY ResultDescription", _
Array As String(EditTextResultDescription.Text & "%"), 0, _
ListViewResults, True)
End Sub
これは、データをテーブルに追加します。
SQL.ExecNonQuery2("INSERT INTO VisitResultTypes " & _
"(Id, ResultDescription) " & _
"VALUES " & _
"(?, ?)", Array As Object(Null, EditTextResultDescription.Text))