【发布时间】:2017-09-07 16:24:18
【问题描述】:
我在我的应用程序中使用以下命令创建了一个 SQLite 表。
db.execSQL("Create table if not exists mytab(Id INTEGER PRIMARY KEY autoincrement not null,deviceid int,leftsof Real,rightsof Real)");
我现在在这个表中有大约 30000 行,我正在将数据传输到服务器。数据正在顺利插入到服务器表中,但在每次插入时我都想删除正在插入的特定 SQLite 表行。
这是代码。
try {
for (int i = 0; i < databaseWorking.getlati().size(); i++) {
System.out.println("Local DB Size " + databaseWorking.getlati().size());
//code for insertion
if (response == 200) {
databaseWorking.deleterow(i);
}
}
删除行代码
void deleterow(int id) {
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
String query = "Delete from mytab Where Id=" + id ;
sqLiteDatabase.execSQL(query);
}
但是虽然调用了 delete 方法并且没有错误,但行并没有被删除。每次我得到相同大小的数据库。
有人可以指导吗?
【问题讨论】:
-
显然,没有
Id值与is 匹配的行。 -
明白了,我这里只是把真话简写为代表,其实就是leftsof和rightsof。
-
我已编辑并为此感到抱歉。
-
@CL (Id INTEGER PRIMARY KEY autoincrement 不是可以比较的Id列?如果没有,我该如何删除行,
-
如何知道哪些行已发送到服务器?还是全部?
标签: java android sqlite android-sqlite