Android版SQLite中的小写字母

Android版SQLite中的小写字母,android,sqlite,Android,Sqlite,我现在遇到的问题是如何在SQLite for Android中将大写单词转换为小写 public Cursor fetchFunctions(String searchword) throws SQLException { Cursor mCursor = mDb.query(true, FUNCTIONS_TABLE, new String[] { FUNS_WORD, FUNS_BODY}, FUNS_WORD + "='" + sea

我现在遇到的问题是如何在SQLite for Android中将大写单词转换为小写

public Cursor fetchFunctions(String searchword) throws SQLException {
    Cursor mCursor =
        mDb.query(true, FUNCTIONS_TABLE, new String[] {
                FUNS_WORD, FUNS_BODY}, FUNS_WORD + "='" + searchword + "'", null,
                null, null, null, null);
    if (mCursor != null) {
        mCursor.moveToFirst();
    }
    return mCursor;
}
我想转换为LOWER(FUNS_WORD)+“=”+searchword+”不幸的是,出现了语法错误。我想要的是我想要将FUNS_WORD中的所有数据转换为小写类型。

您必须使用


您可以使用LIKE关键字代替=。LIKE关键字不区分大小写,可以在不带%sign的情况下在您的案例中使用。

查询
'“+searchword+”
中存在SQL注入漏洞。这可能使攻击者破坏数据库

游标应包装在try/finally块中,以确保它们在完成时始终处于关闭状态

public Cursor fetchFunctions(String searchword) throws SQLException {
    Cursor cursor = null;
    try {
      cursor = mDb.rawQuery("SELECT FUNS_WORD, FUNS_BODY FROM FUNCTIONS_TABLE WHERE LOWER(FUNS_WORD) = ?", new String[] { searchword });
      if (cursor != null) {
          cursor.moveToFirst();
      }
    } finally {
      if (cursor != null) {
        cursor.close();
      }
    }
    return cursor;
}

我不需要使用LIKE,因为只需要返回一条记录。@ppshein
LIKE
不带
%
=
几乎相同,只是
LIKE
不区分大小写,可能是正确答案。顺便问一下,我的编码和查询有什么不同?
public Cursor fetchFunctions(String searchword) throws SQLException {
    Cursor cursor = null;
    try {
      cursor = mDb.rawQuery("SELECT FUNS_WORD, FUNS_BODY FROM FUNCTIONS_TABLE WHERE LOWER(FUNS_WORD) = ?", new String[] { searchword });
      if (cursor != null) {
          cursor.moveToFirst();
      }
    } finally {
      if (cursor != null) {
        cursor.close();
      }
    }
    return cursor;
}