从 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 中删除记录的主要内容,如果未能解决你的问题,请参考以下文章