android logcat 错误 求解
java.lang.RuntimeException:UnabletostartactivityComponentInfo{com.xmobileapp.contact/...
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xmobileapp.contact/com.xmobileapp.contact.Contact}: android.database.sqlite.SQLiteException: near "foreign": syntax error: , while compiling: SELECT _id, foreign, chinese FROM contacts ORDER BY _id
求大神解答 可以加分多少都可以 展开
求大神解答 可以加分多少都可以 展开
2个回答
展开全部
near "foreign": syntax error: , while compiling ←这货是诊断依据
报错原因是因为foreign是SQLite的保留关键字,不能被当做普通的自定义列名在select语句中使用。
在有语法高亮功能的编辑器中显示该SQL语句如下图所示
可以看出foreign被parser当做了关键字,而不是你想要查询的contacts表中的foreign列。
从规范角度,避免在命名时使用SQL关键字。
这是查看全部SQLite自保留关键字的传送门→ http://www.sqlite.org/lang_keywords.html
如图所示,关键字'foreign'赫然在列→_→。
建议:
你确定你的contacts表中存在名为foreign的列吗?请检查。
如果确实存在并需要使用,可以为foreign加引号。
原SQL语句改为:SELECT _id, 'foreign', chinese FROM contacts ORDER BY _id
你还可以考虑将列名替换为'overseas',如果是想按国内国外区分不同contact的话。
以上。
来自:求助得到的回答
2013-05-07
展开全部
SELECT _id, `foreign`, chinese FROM contacts ORDER BY _id
可以试试这样写的SQL语句
可以试试这样写的SQL语句
更多追问追答
追问
怎么改代码啊
追答
只是SQL语句问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询