Cursor resultset=mydb.rawQuery("SELECT Name FROM Birds WHERE Size LIKE "+"'"+size+"'"+" AND Color1 LIKE "+"'"+color1+"'"+" AND Color2 LIKE "+"'"+color2+"'"+" AND Habitat LIKE "+"'"+habitat+"'"+";",null);
どのようにアンドロイドプロジェクトのsqliteクエリで文字列変数を渡すには?
Cursor resultset=mydb.rawQuery("SELECT Name FROM Birds WHERE Size LIKE 'Duck%' AND Color1 LIKE 'Orange%' AND Color2 LIKE 'White%' AND Habitat LIKE 'Wetland%';",null);
Cursor resultset=mydb.rawQuery(sql,null); resultset.moveToFirst(); name=resultset.getString(0);
最初の文のカーソルの結果セットには、文字列変数名が含まれていますが、それはエラー - android.database.CursorIndexOutOfBoundExceptionを示しています。インデックス0 0
の大きさで、要求されました2番目のステートメントCursor resultsetが実行されます。DuckはデータベースのSizeカラムの値です オレンジはColor1カラムの下の値ですデータベース にホワイトがデータベース
でカラー2列の下の値ですだから私は、文字列変数のサイズ、カラー1とカラー2が実際の値で更新取得されているので、それは実際に に動作しますので、最初のsqliteクエリを改善するために知りません。