2011-04-08 66 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