0

タイトルが渡された文字列と等しい行IDを取得しようとしています。

私は構文についてかなり不安定で、このサイトをサーフィンして、Eclipse が気に入る例を見つけようとしています。通常、私が提供する引数は有効ではないことがわかりますが、それを理解することはできません。groupBy などの他の引数を埋めるために null を追加しようとしましたが、引数が間違っていると言い続けます。

私のコードはこちら

private String[] folderID = {MySQLiteHelper.COLUMN_FOLDERID};
private String[] folderTitle = {MySQLiteHelper.COLUMN_FOLDERNAME};


public Cursor findFolderId(String i){
String[] select = {i + "=" + folderTitle};
Cursor cursor = database.query(MySQLiteHelper.TABLE_FOLDERS, folderID, "WHERE", select);
return cursor;

編集:

これが典型的なエラーです

SQLiteDatabase 型の query(String, String[], String, String[], String, String, String) メソッドは、引数 (String, String[], String, String[]) には適用されません。

4

2 に答える 2

1

次のように変更する必要があります。

String[] columns = {"Column1", "Column2"}; // columns to select
String selection = "someCol = ?";
String[] args = {i}; // value added into where clause --> column = i
Cursor c = database.query(TABLE, columns, selection, args, null, null, null);

通常、列はフェッチする列であり、選択はwhere句と同等であり、argsは?同じ順序で代わりに置き換えられる値です(これはプレースホルダーと呼ばれます)。

于 2013-03-13T22:59:29.770 に答える
0
public Cursor findFolderId(String i){
String[] select = {i};
Cursor cursor = database.query(MySQLiteHelper.TABLE_FOLDERS, folderID, folderTitle + "=?", select);
return cursor;
于 2013-03-13T22:59:38.947 に答える