如何在android的SQLLite中同时转义单引号和双引号?
如果字符串为空,如何转义单引号和双引号如何在android的SQLLite中同时转义单引号和双引号?,android,sql,sqlite,escaping,quotes,Android,Sql,Sqlite,Escaping,Quotes,如果字符串为空,如何转义单引号和双引号 t"'e'"s""t'' 换句话说,如何转义包含单引号和双引号的字符串中的引号 例如: String whereClauseToTracks = MediaStore.Audio.Media.ARTIST + " = '" + artist + "' "; // t"'e'"s""t'' - instead of artist Cursor cursorToTracks = mResolver.query(MediaStore.Audio
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 lite异常。使用\''
在
selection
中使用selectionArgs
和?
,如下所示:
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 sql=“My\'bad\'sql”代码>在不转义的情况下,sql
应该如何准确地显示<代码>我的“坏”sql
?那么你不应该逃避单撇号。。。
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);