获取SQL Lite数据库表中的特定记录

时间:2016-04-20 18:40:15

标签: java android mysql sql sqlite

我的应用程序中有一个SQL Lite数据库。它由一个包含3列的表组成,即id,关键字和文本。 id是int类型,它是自动递增的,关键字和text是string类型。比方说,我在表中有这3条记录:

id | keyword    | text    
 1 | morning    | "good morning"       
 2 | evening    | "good evening"
 3 | night      | "good night"

我正在寻找的是下面格式的函数,它根据作为函数参数传递的特定关键字返回特定文本。或者我如何在查询中实现SELECT sql statememnt以返回基于关键字的特定文本。

    public String getRecord(String search)
{
    SQLiteDatabase db = getWritableDatabase();
    //SELECT text FROM Table WHERE keyword = search
    String query = ("SELECT" + COLUMN_TEXT + " FROM " + TABLE_PREDICTIVES + " WHERE " + COLUMN_KEYWORD + "=\""+ search + "\";");

    Cursor c = db.rawQuery(query,null);
    c.moveToFirst();

 //   db.execSQL(query);
   String value = c.getString(c.getColumnIndex("text"));
    db.close();
    return value;
}

我更新了getRecord函数;我是如何根据特定关键字

从列文本返回文本值的

1 个答案:

答案 0 :(得分:0)

你试过单引号而不是双引号吗?

 String query = ("SELECT " + COLUMN_TEXT + " FROM " + TABLE_PREDICTIVES + " WHERE " + COLUMN_KEYWORD + " = '" + search + "';");