2011-04-08 5 views
0

sqllite Db에서 일부 데이터를 선택하고 싶습니다. 이제 문제가 생겼습니다. 다음과 같이 나는 원시 쿼리를 줄이 :이 충돌되는 것을 응용 프로그램을 방지하기 위해 나를 도울 수SQLite 쿼리에서 문자 이스케이프

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

때 같은 데이터

이름의

DB를에서 가져 . 하지만 이제는 큰 따옴표로 같은 문제를 해결해야합니다.

"데이터"와 같은 데이터

할 수있는 한 도움 .. 미리 감사합니다.

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

이뿐만 아니라 당신의 따옴표 문제를 해결하지만이 훨씬 더 보안이 SQL 주입을 방지하기 때문에 :

+1

Android의 SQLite API가 검색어 매개 변수를 지원합니까? 그렇다면 즉시 SQL을 작성하는 대신 SQL을 사용해야합니다. –

답변

3

당신은 rawQuery를 사용할 수있다.

+0

고마워요. .. 작품 ... 당신은 내 하루를 .. .. – rahul

+0

잘 듣고 :-) –