我找不到问题的完美标题但是它来了..有没有一种方法可以在java(android)中将字符串“hello”改成'hello'?这是为了让我的SQL查询工作。例如,这是我用java编写的用于Android应用程序的函数
public Cursor GetLecture(String course_code)
{
SQLiteDatabase sqldb = this.getReadableDatabase();
String query = "SELECT * FROM Lecture WHERE course_code =" + course_code;
Cursor C = sqldb.rawQuery(query, null);
return C;
}
这里的问题是查询需要的是course_code的值是例如'S11'而不是变量course_code所具有的“S11”,因为它是一个字符串。所以如何更改字符串具有双引号(“”)到单引号('')以使查询有效的值?是否有更短的方法或我必须改变整个算法?提前感谢您考虑!!
答案 0 :(得分:2)
字符串是由双引号分隔的字符序列。您不能用单引号分隔它们。这些是角色。这个是Java。
如果是SQL查询,要将字符串括在单引号中,您可以这样做:
String query = "SELECT * FROM Lecture WHERE course_code = '" + course_code + "'";
答案 1 :(得分:2)
如果你改写:
String query = "SELECT * FROM Lecture WHERE course_code =" + course_code;
as
String query = "SELECT * FROM Lecture WHERE course_code ='" + course_code + "'";
答案 2 :(得分:1)
在查询中有一个特殊的构造来创建值:
p_query = "select * from mutable where name_field = ?";
mDb.rawQuery(p_query, new String[] { fieldValue });
或者您只需添加转义符号和引号
即可String query = "SELECT * FROM Lecture WHERE course_code = \"" + DatabaseUtils.sqlEscapeString(course_code) + "\"";
从这里开始: