
在上次视频中我们了解了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
好, 说明成功删除了数据。
=======================
总结下, 这只是比较简单的入门操作,如果真正程序多人链接数据的话
还要考虑一下问题的,例如当别人在修改数据的时候,如果你删除了数据 那别人
就无法修改了。。。。这涉及到事务处理 还有锁的问题。
希望有兴趣的朋友可以深入了解。 谢谢观看视频!