2016-01-22 4 views
-1

Я пытаюсь сделать простой оператор select в своем приложении. То, что я пытаюсь сделать, это вернуть код, связанный со словом, которое получено из вида списка. Когда я запускаю код, я получаю сообщение об ошибке, когда столбец не существует. Столбец, который, по его словам, doesnt существует, фактически является переменной I, передаваемой в оператор, а не любым столбцом в таблице. Любая помощь будет большимAndroid нет такого столбца в имени переменной

SQL Заявление

//gets recipe code given recipe name 
public Cursor getCode(String name) throws SQLException 
{ 
    return db.rawQuery("select recipe_code from recipes where recipe_name = " + name ,null); 
} 

Передача переменной в отчете

TextView txtProduct = (TextView) findViewById (R.id.recipeTitle);

Intent i = getIntent(); 
    // getting attached intent data 
    String string = i.getStringExtra("recipe"); 
    // displaying selected product name 
    txtProduct.setText(string); 

    adapter.open(); 

    Cursor code = adapter.getCode(string); 

Таблица Создание

//Recipe create statement 
private static final String CREATE_TABLE_RECIPES = "CREATE TABLE " 
     + RECIPE_TABLE + "(" 
     + KEY_ID + " INTEGER AUTO INCREMENT," 
     + KEY_CODE + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," 
     + KEY_RECIPE_NAME + " TEXT" + ")"; 
+0

Где вы создаете таблицу в своем коде? Можете ли вы опубликовать это. –

ответ

0

Попробуйте использовать так,

public Cursor getCode(String name) throws SQLException 
{ 
    return db.rawQuery("select recipe_code from recipes where recipe_name = " + "'"+name+"'" ,null); 
} 

сохранить переменную в одинарные кавычки.

+0

Спасибо, полностью забыли про одиночные котировки – Hayes121

+0

рад помочь вам. – Ajinkya

+0

Еще один вопрос, если я хочу использовать значение, возвращаемое в курсоре в другом выражении, как мне извлечь значение в переменную? – Hayes121

Смежные вопросы