android - android 上的 sqlite 中的单引号

标签 android sqlite escaping

我正在从网络服务中获取值(value)。我的一些值(value)观带有单引号。像这个示例的 sqlite 不支持单引号。所以我用双引号替换它们。当我从数据库中检索值时,我无法解析该值。我得到格式不正确的解析器异常。谁能告诉我该怎么做?

这是我将单引号替换为双引号的代码

              stockservicevalue=stockservicevalue.replaceAll("'", "\"");

这是我从数据库中检索的值

String sql = "SELECT * FROM MyQuest;";

日志:

03-28 19:02:36.309: WARN/System.err(344): org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 50437: not well-formed (invalid token)
03-28 19:02:36.321: WARN/System.err(344):     at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:492)
03-28 19:02:36.330: WARN/System.err(344):     at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:477)
03-28 19:02:36.340: WARN/System.err(344):     at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:317)
03-28 19:02:36.380: WARN/System.err(344):     at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:273)
03-28 19:02:36.389: WARN/System.err(344):     at com.inquest.SaxPortfolioDocument.getEventsFromAnXML(SaxPortfolioDocument.java:13)
03-28 19:02:36.411: WARN/System.err(344):     at com.inquest.PortfolioActivity$PortFolioTask.doInBackground(PortfolioActivity.java:171)
03-28 19:02:36.420: WARN/System.err(344):     at com.inquest.PortfolioActivity$PortFolioTask.doInBackground(PortfolioActivity.java:1)
03-28 19:02:36.430: WARN/System.err(344):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
03-28 19:02:36.430: WARN/System.err(344):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
03-28 19:02:36.440: WARN/System.err(344):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
03-28 19:02:36.479: WARN/System.err(344):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
03-28 19:02:36.500: WARN/System.err(344):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
03-28 19:02:36.510: WARN/System.err(344):     at java.lang.Thread.run(Thread.java:1096)
03-28 19:02:36.840: WARN/InputManagerService(58): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@46dfec78

谢谢

最佳答案

stockservicevalue=stockservicevalue.replaceAll("'", "\''"); 

关于android - android 上的 sqlite 中的单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5460553/

相关文章:

android - 如何在android中获取号码的最后4位?

java - 如何在 android 上使用 java 8 库?

java - Android:当Android从内存中清除应用程序 Activity 堆栈时,销毁应用程序 Activity 堆栈

Powershell - 将 SQLite 表导出到 csv

java - 检查sqlite中的表是否存在

mysql - 转义分号;用于 Excel 的 MYSQL

javascript - 简单功能的 twig is_safe 不起作用

android - 将项目添加到 android 工具栏

c++ - 您是否尝试过使用 SQLite 作为您的 *raw* 数据库的查询引擎?

c++ - 行尾的双反斜杠有什么作用?