以下のコードを使用して、Android アプリで sqlite レコードを取得しています。このコードは数値をフェッチしますが、英数字の値はフェッチしません。
例: tempno が 2 の場合はレコードを取得しますが、tempno が 2A の場合はレコードを取得しません。
私が使用した変数はすべて「文字列」データ型です。
public Map<String, Object> getDetails(String tempno) throws SQLException{
Map<String, Object> map = new HashMap<String, Object>();
Cursor mCursor = db.query(true, DATABASE_TABLE, new String[] {SOURCE, DESTINATION, ROUTELENGTH, NOTE}, ROUTENO + "=" + tempno, null, null, null, null, null);
別のクラスから以下のコードを呼び出しています。
どこが間違っているのか教えてください。
Map<String, Object> temp = dbAdapt.getDetails(tempno);
以下はLogcatのエラーです
09-26 18:42:52.108: E/AndroidRuntime(2363): android.database.sqlite.SQLiteException: unrecognized token: "2A": , while compiling: SELECT DISTINCT source, destination, routelength, note FROM route WHERE routeno=2A