当前位置:数据库 > SQLite >>

Android sqlite通过字符串为条件执行删除某一记录的问题

public boolean deleteitem(String title){ return db.delete(DATABASE_TABLE, KEY_TITLE +"=" + title , null)>0; } 其中Key_Title 是我的表中的列,我的表因为id autoincrement每次建立完在执行query时候都提示我没有这样的column,所以我的表只有两列。 Title | Content 12345 xxx 12345f xxx wwwa xxx 当我删除12345这条记录时候可行,但是12345f就立马出错(数字+字符) 错误原因是07-09 02:55:13.792: E/AndroidRuntime(802): android.database.sqlite.SQLiteException: unrecognized token: "12345f": , while compiling: DELETE FROM contentinfo1 WHERE title=12345f 如果是纯字母,又出现另一个错误 比如我插入一个title 为wwwa 的记录之后 07-09 07:48:29.464: E/AndroidRuntime(351): android.database.sqlite.SQLiteException: no such column: wwwa: , while compiling: DELETE FROM contentinfo1 WHERE title=wwwa
答案:你的title是
NVARCHAR
的吧。。
应该是
return db.delete(DATABASE_TABLE, KEY_TITLE +"=‘" + title+“’” , null)>0;
title要。。加单引号、
其他:return db.delete(DATABASE_TABLE, KEY_TITLE +"=‘" + title+“’” , null)>0;
title要添加单引号。
其次注意列名称是Title 不是 title. 有没有先调用打开Sqlite3的databasehepler.getwrite...()这个方法? 

上一个:sqlite查询条件参数为空怎么办
下一个:android 程序碰到问题,很简单的一个程序,从sqlite数据库里面查找数据,点击按钮后获得相应数据

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,