0

私はこのエラーが発生しました:

The method query(String, String[], String, String[], String, String, String) in the type SQLiteDatabase is not applicable for the arguments (String, String[], String, String, null, null, null)

および責任のあるコード:

public Cursor getDomanda(String id) {
            List<categorie> categorie = new ArrayList<categorie>();

            Cursor cursor = database.query(MySQLiteHelper.TABLE_SONDAGGI,
                allCategorieColumns, MySQLiteHelper.COLUMN_ID + "=", id, null, null, null);

            cursor.moveToFirst();
            while (!cursor.isAfterLast()) {
              categorie categoria = cursorToCategorie(cursor);
              categorie.add(categoria);
              cursor.moveToNext();
            }
            // Make sure to close the cursor
           // cursor.close();
            return cursor;
          }

反対側:

long strcategory = getIntent().getExtras().getLong("categoriaId"); 
Cursor values = datasource.getDomanda(Long.toString(strcategory));

私が間違っているのは何ですか?longをに変換する必要がありますString[]が、一体何String[]ですか?:Dそしてところで...クエリは正しいですか?つまり

database.query(MySQLiteHelper.TABLE_SONDAGGI,
                    allCategorieColumns, MySQLiteHelper.COLUMN_ID + "=", id, null, null, null);

select from tableSondaggi where _id = $id ?
4

2 に答える 2

2

4番目のパラメーターは、String[]ではなく、でなければなりませんString

1つの要素(ID)で構成される配列を作成するには、idで置き換える必要があります。new String[] { id }

  Cursor cursor = database.query(MySQLiteHelper.TABLE_SONDAGGI,
            allCategorieColumns, MySQLiteHelper.COLUMN_ID + "=", new String[] { id }, null, null, null);
于 2012-12-20T16:14:24.187 に答える
1

これでうまくいくはずです。

Cursor cursor = database.query(MySQLiteHelper.TABLE_SONDAGGI,
            allCategorieColumns, MySQLiteHelper.COLUMN_ID + "=",  new String[] { id }, null, null, null);

しかし:たぶん、基本的なプログラミングについての本を読む必要があるかもしれません。配列(String[]たとえば)は非常に便利です...

于 2012-12-20T16:15:27.920 に答える