将字符串转换为char数组

时间:2013-10-14 08:08:47

标签: java android mysql

我找不到问题的完美标题但是它来了..有没有一种方法可以在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”,因为它是一个字符串。所以如何更改字符串具有双引号(“”)到单引号('')以使查询有效的值?是否有更短的方法或我必须改变整个算法?提前感谢您考虑!!

3 个答案:

答案 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) + "\"";

从这里开始:

Android quotes within an sql query string