Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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 数据库中的事务在android中不工作_Java_Android_Eclipse_Sqlite - Fatal编程技术网

Java 数据库中的事务在android中不工作

Java 数据库中的事务在android中不工作,java,android,eclipse,sqlite,Java,Android,Eclipse,Sqlite,我正在使用以下代码,但遇到一些问题: mDb.beginTransaction(); String updateQuery ="Query entered here"; String[] valVars = { Variables initialized here }; Cursor c = mDb.rawQuery(updateQuery, valVars); if (c != null) { mDb.setTransactionSuccessful(); mDb.endTr

我正在使用以下代码,但遇到一些问题:

mDb.beginTransaction();
String updateQuery ="Query entered here"; 
String[] valVars = { Variables initialized here };
Cursor c = mDb.rawQuery(updateQuery, valVars);
if (c != null)
{
    mDb.setTransactionSuccessful();
    mDb.endTransaction();
    return true;
}
else
{ 
    mDb.endTransaction();
    return false;
}

当我使用debug而不是运行
return true
时,即使在else语句中,它也会直接返回false。请告诉我问题是什么以及如何正确执行此操作。

使用此结构,如中所述:


我不清楚你想说什么,你能至少对我说得更具体一点吗?我做的一切都对吗?其次,当我使用调试器而不是执行returntrue时,它会运行returnfalse。第三,一旦我运行了这段代码,我就看不到数据库中存储的任何东西。“当你运行应用程序时,它返回true。当你调试应用程序时,它返回false。”这是你在这里指的场景吗?执行转到“else”块,因为在调试时,游标c变为NULL。使用try-catch块查找在调用db事务相关方法之一时是否发生异常。确定我正在使用此代码游标c=mDb.rawQuery(updateQuery,valVars);mDb.setTransactionSuccessful();}catch(异常e){mDb.endTransaction();throw e;}mDb.endTransaction();}现在一切正常,但当我检查数据库时,它没有存储任何内容。。。有什么想法吗?
db.beginTransaction();
try {
    ...
    db.setTransactionSuccessful();
} finally {
    db.endTransaction();
}