在上次视频中我们了解了RMS,和创建链接,关闭链接的操作。

在创建链接和关闭链接之间我们可以对数据进行 添加 读取 删除等等操作。

下面,我们打开上次的项目,并添加对数据的一些常用操作。

点击 "Open Project" 选择上次的项目,

Project "RMSTest" loaded 看到提示信息,已经打开了。

现在我们首先是添加数据

RecordStore 提供了一些常用的方法,addRecord(); 就是一个添加数据的方法。

addRecord方法中,有几个参数,第一个参数就是添加数据的内容是 字节数组,

然后就是字节数组长度,可以添加字节数组的一部分。

下面看看具体操作就明白了。

byte[] byteStr = "Hello RMS".getBytes();
Hello RMS 是我们要添加的字符串,但是因为addRecord方法只接受字节数组,
所以要先把字符串转为字节数组,通过 getBytes() 就可以实现。

catch( RecordStoreFullException e )
要抛出相关的异常, 这个异常是如果数据库满了,不能插入数据就会抛出异常。

catch( RecordStoreNotOpenException e )
当存储器不能打开 就会抛出该异常

catch( RecordStoreException e ) 这个异常是比较普遍性异常了。

addRecord 方法 成功插入数据后,它会返回数据记录的总数。

好了下面编译下。没有错误,运行看看是否可以插入数据。

成功插入数据,数据总数为:1
成功插入数据,数据总数为:2
成功插入数据,数据总数为:3
每次插入数据都会把总数打印出来。

可以看到 就算关闭了 程序,刚才插入的数据 还是存在的,
这也就是说 永久存储数据。
  byte[] byteStr = "Hello RMS".getBytes();
  
  try
  {
   int result = rs.addRecord( byteStr, 0,byteStr.length );

   System.out.println( "成功插入数据,数据总数为:" + result );
  }
  catch( RecordStoreFullException e )
  {}
  catch( RecordStoreNotOpenException e )
  {}
  catch( RecordStoreException e )
  {}

===========================================
插入数据后,我们再来把所有的数据打印出来
RecordStore 提供 getRecord 方法读取一条数据。
所以要 读取全部数据 就要一个循环 把数据一条条读取出来。

RecordEnumeration re=rs.enumerateRecords(null,null,false);
RecordStore通过enumerateRecords方法可以获取所有数据id出来。
那么就可以通过循环 getRecord 读取全部数据出来。

   while( re.hasNextElement() )
   {
    int id = re.nextRecordId();
    System.out.println( "id:" + id + " " + new String(rs.getRecord(id)) );
   }
通过循环,显示数据出来。

为了节省时间我就直接 抛出 Exception 异常,具体异常没有写出来。

下面编译一下。RecordEnumeration 要用到 util包。

好了 不好意思 有些字母打错了。 现在编译成功了,运行一下看看效果。
id:4 Hello RMS
id:3 Hello RMS
id:2 Hello RMS
id:1 Hello RMS
把数据全部读取出来了。 

===============================
下面来删除一下数据 , RecordStore 提供了deleteRecord() 的方法。

rs.deleteRecord( 3 );  删除id为3的记录。

再读取看看 是否成功删除

id:4 Hello RMS
id:2 Hello RMS
id:1 Hello RMS
好, 说明成功删除了数据。

=======================

总结下, 这只是比较简单的入门操作,如果真正程序多人链接数据的话

还要考虑一下问题的,例如当别人在修改数据的时候,如果你删除了数据 那别人

就无法修改了。。。。这涉及到事务处理 还有锁的问题。
希望有兴趣的朋友可以深入了解。 谢谢观看视频!


“从零开始J2ME手机开发入门视频教程09(RMS数据的添加,读取,删除操作)”没有评论

有任何疑问或建议,可以给作者留言: