Android 使用新表值更新数据库
如何在android数据库中更新表的值?在下面的代码中,它被插入,但没有更新,如果它被更新,则所有值都显示为0。这个代码有什么问题Android 使用新表值更新数据库,android,database,Android,Database,如何在android数据库中更新表的值?在下面的代码中,它被插入,但没有更新,如果它被更新,则所有值都显示为0。这个代码有什么问题 private void InsertINcurrentinfo(int iNCallsToLN, int iNLocalCallsM, int iNLocalCallsL, int iNSTDCallsHM, int iNSTDCallsM, int iNSTDCallsL, int iNgp1, int iNgp2, in
private void InsertINcurrentinfo(int iNCallsToLN, int iNLocalCallsM,
int iNLocalCallsL, int iNSTDCallsHM, int iNSTDCallsM,
int iNSTDCallsL, int iNgp1, int iNgp2, int iNgp3, int iNSplCalls) {
// TODO Auto-generated method stub
try {
myDB = SQLiteDatabase.openDatabase(DB_PATH, null, SQLiteDatabase.OPEN_READWRITE);
Cursor cursor = myDB.query(TABLE_CURRENTINFO, null, null, null,null, null, null);
int cnt=cursor.getCount();
cursor.close();
ContentValues initialValues = new ContentValues();
initialValues.put("value1", String.valueOf(iNCallsToLN));
initialValues.put("value2", String.valueOf(iNLocalCallsM));
initialValues.put("value3", String.valueOf(iNLocalCallsL));
initialValues.put("value4", String.valueOf(iNSTDCallsHM));
initialValues.put("value5", String.valueOf(iNSTDCallsM));
initialValues.put("value6", String.valueOf(iNSTDCallsL));
initialValues.put("value7", String.valueOf(iNgp1));
if(cnt==0){
myDB.insert(TABLE_CURRENTINFO, null, initialValues);
}else{
myDB.update(TABLE_CURRENTINFO, initialValues, null, null);
}
if (myDB != null) {
myDB.close();
}
}catch(Exception ex)
{
if (myDB != null) {
myDB.close();
}
Toast.makeText(getBaseContext(), "Error occured while updating Current CallInfo"+ex.toString(),
Toast.LENGTH_LONG).show();
}
}
尝试添加
开始管理游标(游标)
beforeintcnt=cursor.getCount()代码>您是否检查过函数参数中的值是否正确。或者它也是0。您是否尝试过在代码中使用类似于:iNCallsToLN+“”的值而不是String.valueOf(iNCallsToLN)的值?您的猜测是对的,Arun先生。