android.database.sqlite.SQLiteException: no such column:xxxxx

今天在使用sql语句删除数据时报了android.database.sqlite.SQLiteException: no such column:xxxxx,令人奇怪的是删除的数据是int类型的却没报错,代码如下

if ((list.get(j)).equals(list_delete.get(i))) {
                            db.execSQL("delete from TotalData where english =" + list.get(j).getEnglish());
                            list.remove(j);
                            break;
                        }

这是数据库的代码

public static final String CREATE_TOTALDATA = "create table Totaldata ("
            + "id INTEGER PRIMARY KEY AUTOINCREMENT, "
            + "chinese VARCHAR,"
            + "english VARCHAR)";

最后上网一查,在stackoverflow上找到类似答案了

是由于是字符串类型,所以要加单引号,于是代码更改如下:

if ((list.get(j)).equals(list_delete.get(i))) {
                            db.execSQL("delete from TotalData where english ='" + list.get(j).getEnglish()+"'");
                            list.remove(j);
                            break;

不得不说,StackOverflow真的是程序员必备啊,好几次国内找不到解决的问题都在这上面找到了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值