2014-01-26 2 views
0

Я хочу удалить одну запись из RecordStore каждый раз, когда я использую этот код, это означает, что во второй раз, когда пользователь видит записи, он не должен видеть удаленную запись, но этого не происходит ,Удалить запись из RecordStore

После тестирования моего кода записи, записанные на основе записи. !!!

Это записи, которые я ввел.

_1_Elhadi_ _Sun 26 января 1:00:00 GMT + 03: 00 2014

_A_John_ Вс 26 января 1:00:00 GMT + 03: 00 2014

_3_Smith_ Вс 26 января 1:00:00 GMT + 03: 00 2014

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(); 
} 
    }    
+0

@AliPour Можете ли вы предложить пожалуйста? – JavaFan

ответ

0

Я думаю, что ошибка эта строка:

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

Похоже, вы преобразование вашего объекта RecordEnumeration в объект строкового и пытаетесь найти идентификатор записи в этой строке. Это далеко не поможет.

Попробуйте заменить эту строку с этой линией и посмотреть, если это помогает:

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

спасибо за ответ. но, к сожалению, это не решило мою проблему. – JavaFan

Смежные вопросы