如何在android中的sql lite中一起转义单引号和双引号?
问题描述:
如何逃脱单引号和双引号,如果字符串是如何在android中的sql lite中一起转义单引号和双引号?
t"'e'"s""t''
换句话说,如何逃脱的字符串引号其中有单,双引号一起。
的例子是这样的:
String whereClauseToTracks = MediaStore.Audio.Media.ARTIST + " = '" + artist + "' "; // t"'e'"s""t'' - instead of artist
Cursor cursorToTracks = mResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI , new String[] { MediaStore.Audio.Media.ALBUM }, whereClauseToTracks, null, null);
我得到SQL精简版异常,当字符串包含引号。
答
使用selectionArgs
和?
在selection
这样的:
String selection= MediaStore.Audio.Media.ARTIST + " = ?";
Cursor cursorToTracks = mResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI , new String[] { MediaStore.Audio.Media.ALBUM }, selection, new String[] {artist}, null);
答
使用\ '\ “
String whereClauseToTracks = MediaStore.Audio.Media.ARTIST + " = '" + "t\"\'e\'\"s\"\"t\'\'" + "' ";
这是不行的,它打破了这一点:'字符串SQL =” 我\'坏\“sql”;' – 2012-08-24 03:28:34
'sql'究竟应该如何看起来不逃避? '我的'坏'sql'?那么你不应该逃避单撇号... – Selvin 2012-08-24 08:40:35