作者darkk6 (Mr. Pan)
看板AndroidDev
标题[问题] ContentProvider 的 sql escape 问题
时间Mon Nov 23 16:37:48 2015
大家好,最近在透过做 ContentProvider 进行 db 存取的时候遇到了一些问题
我想问的是,像是 insert , update 这种透过有 ContentValues 来建立资料的
会不会自动帮我 escape ?
还是说只有透过 SQLiteQueryBuilder 所建立出来的 query 才会帮我 escape ?
我试着使用 DatabaseUtil.sqlEscapeString 来做,不过我发现
DatabaseUtil.sqlEscapeString("你好") , 会得到 '你好'
我原本以为是
DatabaseUtil.sqlEscapeString("你好") => 你好
DatabaseUtil.sqlEscapeString("你'好") => 你''好
这个造成我不小的困扰 orz....
我现在只要先确定一下,假设我有一个字串 str 内的文字有包含单引号
如:
你'好
那麽我这样 :
ContentValues values=new ContentValues();
values.put("data",
str);
db.insert( tableName , nullHack , values);
会不会出错? 如果不会出错,是因为在呼叫 insert 的时候会自动帮我把
ContentValues 中的文字 escape 吗 ?
感谢大家~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.238.222.100
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1448267870.A.E77.html