2011-04-08 33 views
0

我想从sqllite db中选择一些数据。现在我面临一个问题。 我给原始查询,如下所示:在SQLite查询中转义字符

String MY_QUERY0 = "select * from logs where log_name=\""+log_name.replace("'","\'")+"\""; 

这可以帮助我避免被撞碎了应用程序时就像一个数据

名称的

是从数据库中拉。 但现在我必须用双引号解决相同的情况。像

“数据” 的数据

任何一个可以帮助.. 在此先感谢。

+1

Android的SQLite API支持查询参数吗?如果是这样,你应该使用它们而不是动态构建SQL。 – 2011-04-08 10:04:09

回答

3

您可以使用rawQuery的:

q = "select * from logs where log_name = ?"; 
database.rawQuery(q, new String[] { log_name}); 

这不仅解决了您的报价问题,但它也更安全,因为它可以防止SQL注入。

+0

非常感谢..它的作品...你救了我的一天.. :) – rahul 2011-04-08 10:11:09

+0

好听:-) – 2011-04-08 10:12:13