日期:2014-05-16 浏览次数:20648 次
[wtkrun] javax.microedition.rms.InvalidRecordIDException 
? [wtkrun] at javax.microedition.rms.RecordStore.findRecord(+86) 
? [wtkrun] at javax.microedition.rms.RecordStore.getRecord(+22) 
? [wtkrun] at com.fastmobile.crake.model.ByteDatabase.getRecord(+13) 
? [wtkrun] at com.fastmobile.crake.model.ContactDatabase.put(+123) 
? [wtkrun] at com.fastmobile.crake.model.ContactDatabase.putFromNetwork(+29) 
? [wtkrun] at com.fastmobile.crake.controller.AddressBookHandler.parseAddrResponse(+825) 
? [wtkrun] at com.fastmobile.crake.controller.AddressBookHandler.handleAddrBookResponse(+23) 
? [wtkrun] at com.fastmobile.crake.controller.AddressBookHandler.handleServerMessage(+90) 
? [wtkrun] at com.fastmobile.crake.controller.MessageDispatcher.dispatchMessage(+150) 
? [wtkrun] at com.fastmobile.crake.controller.MessageDispatcher.handleExtSvcMessage(+22) 
? [wtkrun] at com.fastmobile.crake.controller.MessageDispatcher.handleExtSvcFragment(+210) 
? [wtkrun] at com.fastmobile.crake.controller.MessageDispatcher.handleExtSvcMessage(+11) 
? [wtkrun] at com.fastmobile.crake.controller.MessageDispatcher.run(+34) 
? 
? 查了一下资料,一般情况下是当记录被删除的时候会报这个错。可是实际代码 
? 
? synchronized (m_store) 
? { 
? boolean isUpdate = m_store.findRecord(I_ADDR_ID, (byte) 4, id); 
? if (isUpdate) 
? { 
? oldDetails = new ContactDetails(m_store.getRecord(), m_store.getDataLength()); 
? else 
? oldDetails=null; 
? } 
? } 
? 
? 已经被锁定了,而且确实没有任何删除操作在别的进程中,所以不知道为什么总是抛出这个错,请不吝赐教!
------解决方法--------------------
它报的是无效的记录号,那就看看记录号有没有问题