record store为什么删不掉呢?

youngplayer 2004-08-11 02:07:59
本以为是因为 里面有数据 而导致删不掉 可我做了一个如下函数进行删除 第二次重启模拟器的时候 又全部重删了一遍 真是奇怪啊

public void deleteStore(String storeName){
try {
RecordStore tempStore = RecordStore.openRecordStore(storeName, true);

if (tempStore.getNumRecords() > 0) {
RecordEnumeration re = tempStore.enumerateRecords(null, null, false);
int num = 0;
for (int i = 1; i < tempStore.getNumRecords() + 1; i++) {
int id = re.nextRecordId();
tempStore.deleteRecord(id);
num++;
}
System.out.println(num + " records in " + storeName +
" have been deleted!");
// 这行一直没有打印 说明store中一直是空的 对吧?
}
RecordStore.deleteRecordStore(storeName);

}
catch (RecordStoreException ex) {
}

}
...全文
173 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
youngplayer 2004-08-16
  • 打赏
  • 举报
回复
wwyyww0兄说的对。我用的是nokia7210 sdk + jbx。在我的sdk安装目录下,确实可以直接删除C:\Nokia\Devices\Nokia_7210_MIDP_SDK_v1_0\bin\jam-apps
mingjava 2004-08-13
  • 打赏
  • 举报
回复
我以前遇到过这样的问题 折腾了半天结果他下划线去掉后就好了。所以以后我用record store的名字的时候再也不用下划线了 RecordStore必须在关闭的情况下才可以被删除 不然会出现RecordStoreException的
有时候你最好在调试前把WTK_HOME\appdb\DefaultColorPhone\下面你的recordstore文件删除 这个是模拟器用来模拟手机RMS存储的
wwyyww0 2004-08-13
  • 打赏
  • 举报
回复
如果是调试可以直接从外面把文件删掉
dongdong715 2004-08-13
  • 打赏
  • 举报
回复
执行完后rebuild()一下行不行?我也 刚学。/
dongdong715 2004-08-13
  • 打赏
  • 举报
回复
FOR里面的判断tore.getNumRecords();如果你RMS里面还没有保存到数据的话,就返回0了,可能是根本没有满足条件来执行FOR里面的语句,所以打印不出你说 的那条信息。
youngplayer 2004-08-13
  • 打赏
  • 举报
回复
谢谢各位出谋划策啊。 我觉得mingjava说的可能有点对 我的storename确实有下划线 不过就为什么不能有下划线 我就不太明白了。 我再去试试 顺便问一下 删除recordstore之前需要把这个store先关掉吗?
mingjava 2004-08-12
  • 打赏
  • 举报
回复
RecordStoreName里面最好不要有下划线 小强你的信誉分好低了:)
minj2me 2004-08-12
  • 打赏
  • 举报
回复
你换个storeName可以吗?
zhang21cnboy 2004-08-12
  • 打赏
  • 举报
回复
你每次打开的时候RecordStore.openRecordStore(storeName, true);

这个参数是TRUE啊,那肯定重新建立一个
cnesky 2004-08-12
  • 打赏
  • 举报
回复
是不是调用deleteStore(String storeName)时,storeName弄错了 。。。
mingjava 2004-08-11
  • 打赏
  • 举报
回复
你还是把异常那里打印出来吧 有助于你分析 加上ex.printStackTrace();
youngplayer 2004-08-11
  • 打赏
  • 举报
回复
我在RecordStore.deleteRecordStore(storeName);之前加上了 tempStore.closeRecordStore(); 可是还是不行啊 我刚才把模拟器重装了 那些store居然还有 真是不解啊
cnesky 2004-08-11
  • 打赏
  • 举报
回复
我以前也遇到过这种情况,是因为有些模拟器和手机对这个要求很严格
cnesky 2004-08-11
  • 打赏
  • 举报
回复
openRecordStore后加一个closeRecordStore(), 最好使用完一个就加一个,然后再删除试试

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧