Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果先使用db.delete,则Android db.update不起作用_Java_Android_Sqlite - Fatal编程技术网

Java 如果先使用db.delete,则Android db.update不起作用

Java 如果先使用db.delete,则Android db.update不起作用,java,android,sqlite,Java,Android,Sqlite,我有一个奇怪的问题更新我的数据库中的表…原谅我,如果我不能很好地解释,但我有点困惑。。。 问题是: 我创建了一个带有值的表,我在listview中读取了这些值。现在一切正常。插入和删除值没有问题。现在在服务中创建了一个循环。为什么我需要在数据库的值和字符串之间进行比较?当这个比较为真时,我需要更改表中的值 真正的问题是:我的db.update只有在不使用时才起作用。。。从不,命令db.delete。。。如果使用它,db.update将不再工作。为了使它再次工作,我需要制作一个新的AVD 怎么可能

我有一个奇怪的问题更新我的数据库中的表…原谅我,如果我不能很好地解释,但我有点困惑。。。 问题是: 我创建了一个带有值的表,我在listview中读取了这些值。现在一切正常。插入和删除值没有问题。现在在服务中创建了一个循环。为什么我需要在数据库的值和字符串之间进行比较?当这个比较为真时,我需要更改表中的值

真正的问题是:我的
db.update
只有在不使用时才起作用。。。从不,命令
db.delete
。。。如果使用它,
db.update
将不再工作。为了使它再次工作,我需要制作一个新的AVD

怎么可能呢? 我的
db.delete
和id如下:

item.getMenuInfo();
    id = getListAdapter().getItemId(info.position);

public void deleteReg(SQLiteDatabase db ,long id) 
        {
           db.delete(TabRegistry.TABLE_NAME, TabRegistry._ID + "=" + id, null);
        }
关于活动:

 databaseHelper.deleteReg(db, id);
我的db.update是这样的:(positions是一个值
getPositions()
,用于用光标定位位置(即使db.update失败,也始终有效))

在职:

   databaseHelper.updateReg(db, positions, "SUCCESS");

如果您需要更多的代码,请告诉我我现在添加了什么..提前感谢您使用的SQLite api是基于操作的(您应该阅读本文)

您正在从数据库中删除或删除该记录,因此在尝试更新该记录时无需更新。如果要创建新记录,或重新创建已删除的记录,则需要执行插入而不是更新

编辑:


还显示您正在将位置号传递给更新和删除。我假设您也在使用此值将记录放入表中?当您从表和数据库中删除该记录时,是否可能其他记录现在的位置无效,因为它们还没有更新?这只是瞎猜,我想我不妨问问

真的可以,如何更新完整的表格,为正确的位置?
   databaseHelper.updateReg(db, positions, "SUCCESS");