gpt4 book ai didi

java-me - 删除 RMS 中的特定记录?

转载 作者:行者123 更新时间:2023-12-04 18:22:06 26 4
gpt4 key购买 nike

我正在创建一个读/写 RMS 记录的 J2ME 应用程序。我能读能写
记录在 RMS 但现在的问题是我想通过接受一些值来删除记录
喜欢 accountNumber .
RMS 记录的格式。

101,ABC,12345,12345   

和 String str 包含以下数据。
String str=accountSrNumber +","+ name +","+ balance +","+ TextDeposit;
deleteRecStore(str,accountSrNumber);

我需要从用户那里接受 accountNumber(101) 并且需要删除这条记录。
这是我的删除方法。
 public void deleteRecStore(String str, String accNumber121) //
{
int s=str.indexOf(accNumber121);
System.out.println("index in delete function"+s);
if(s==0)
{
try{

rs.deleteRecord(s);
// RecordStore.deleteRecordStore(REC_STORE);
System.out.println("record delete successfully");
}
catch (Exception e)
{}
}
}

我尝试使用两种方法 rs.deleteRecord(s)RecordStore.deleteRecordStore(REC_STORE); .
但没有任何帮助。

最佳答案

您总是删除记录 0,这是第一条记录,这是一个坏主意。
例如,如果您添加两条记录并删除它们,然后添加另一条记录,它将被索引为 2,因此您必须调用 deleteRecord(2) 来删除它。
方法 deleteRecordStore() 删除整个 recordStore(其中包含记录) - 之后,如果您创建一个,则下一个添加的记录将被索引为零。

如果我明白了,您想通过它的 acountNumber 删除记录。
如果我是对的,您需要通过它的内容找到记录 ID。代码大概会是这个样子(可能有错误,没测试过,但是思路很重要):

    public void deleteRecStore(String accNumber121) {
RecordEnumeration e = rs.enumerateRecords();
int found = -1;
while (e.hasMoreElements()) {
int id = e.nextRecordId();
String next = new String(e.nextRecord());
if (next.startsWidth(accNumber121)) {
found = id;
}
}
if (found == -1) {
System.out.println("not found!");
} else {
rs.deleteRecord(found);
}
}

关于java-me - 删除 RMS 中的特定记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10450217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com