从 RecordStore 中删除记录

Posted

技术标签:

【中文标题】从 RecordStore 中删除记录【英文标题】:Delete a record from a RecordStore 【发布时间】:2014-01-26 13:09:15 【问题描述】:

每次使用此代码时,我都想从 RecordStore 中删除一条记录,这意味着当用户第二次看到记录时,他不应该看到已删除的记录,但这不会发生。

在创建的 recordStore 上测试我的代码相同的记录后。 !!!

这些是我输入的记录。

_1_Elhadi__Sun Jan 26 01:00:00 GMT+03:00 2014

_A_John_2014 年 1 月 26 日星期日 01:00:00 GMT+03:00

_3_Smith_2014 年 1 月 26 日星期日 01:00:00 GMT+03:00

public void deleteRecStore(String recID) 

try
 
 recordStore.openRecordStore("recordStore", true)   ;
 
 catch(Exception ex)
 
 ex.printStackTrace();
 
 try
 

 RecordEnumeration e = recordStore.enumerateRecords(null,null,false);

 int found = -1;

 while (e.hasNextElement()) 
 

 int id = e.nextRecordId();

 String next = new String(e.toString());

 int fee = next.indexOf("_", 1);

 **// These statements don't print anything** 

System.out.print("next.indexOf" +next.indexOf("_", 1));


System.out.println( "next.substring(1, fee)"+"\t" +next.substring(fee, 1));

System.out.println("recID"+"\t"+recID);

if (next.substring(1, fee).equals(recID))



found = id ;


  
if (found == -1)



System.out.println("not found!");

else

recordStore.deleteRecord(found);

   
 catch(Exception ex)
 
 ex.printStackTrace();
 
                 

【问题讨论】:

@AliPour 你能建议一下吗? 【参考方案1】:

我认为错误是这一行:

String next = new String(e.toString());

看起来您正在将 RecordEnumeration 对象转换为 String 对象,并尝试在该字符串中查找记录 ID。这不会让你走得太远。

尝试用该行替换该行,看看是否有帮助:

String next = new String(recordStore.getRecord(id));

【讨论】:

感谢您的回复。但不幸的是它并没有解决我的问题。

以上是关于从 RecordStore 中删除记录的主要内容,如果未能解决你的问题,请参考以下文章

遍历所有 RecordStore java me

您如何在 Netbeans 中清除您的 midlet 的 RecordStore?

从数据块 DBFS 中删除记录

从 Core Data 中删除记录

从数据库中删除记录

从视图及其所有相关表中删除记录