ZNDS智能电视网 推荐当贝市场

TV应用下载 / 资源分享区

软件下载 | 游戏 | 讨论 | 电视计算器

综合交流 / 评测 / 活动区

交流区 | 测硬件 | 网站活动 | Z币中心

新手入门 / 进阶 / 社区互助

新手 | 你问我答 | 免费刷机救砖 | ROM固件

查看: 12825|回复: 0
上一主题 下一主题
[教程]

Android程序查询包含“*" "#”的号码时出错的解决办法

[复制链接]
跳转到指定楼层
楼主
发表于 2013-8-28 16:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5 本帖最后由 vincy西西1010 于 2012-7-4 17:39 编辑       代码错误提示:     
E/AndroidRuntime(1145): Caused by: android.database.sqlite.SQLiteException: near "*": syntax error: , while compiling: SELECT numbertype, new, duration, _id, numberlabel, name, number, type, date FROM calls WHERE (number = **9) ORDER BY date desc     
   
解决:   
1.    strQuery = "number = " + strQueryNumber;   
2.            callLogCursor = TApplication.nowTApplication.getContentResolver()   
3.                    .query(CallLog.Calls.CONTENT_URI, null, strQuery, null,   
4.                            "date desc");                             
查询代码改成:     
1.                                
2.                                strQuery = "number = " + "strQueryNumber";   
3.            callLogCursor = TApplication.nowTApplication.getContentResolver()   
4.                    .query(CallLog.Calls.CONTENT_URI, null, strQuery, null,   
5.                            "date desc");   
总结:因为"*"为数据库里的关键字(未经证实),所有查找是会报语法错误,只需要拼接字符串,把"*"改成非关键字即可ps:模拟器不知道为何直接拔打数字+"#"会清空屏幕,而只能拨打"#"开头的号码   
   
   
   

上一篇:【转】[Android]使用Stack实现简易计算器
下一篇:Android中dip(dp)与px之间单位转换
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 苏ICP备2023012627号 )

网络信息服务信用承诺书 | 增值电信业务经营许可证:苏B2-20221768 丨 苏公网安备 32011402011373号

GMT+8, 2025-5-21 22:49 , Processed in 0.156611 second(s), 18 queries , Redis On.

Powered by Discuz!

监督举报:report#znds.com (请将#替换为@)

© 2007-2025 ZNDS.Com

快速回复 返回顶部 返回列表