📄 dbdemo3.java
字号:
//dbDemo3.java file
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.microedition.rms.*;
public class dbDemo3 extends MIDlet implements CommandListener
{
//命令对象,退出;增加;向后遍历;向前遍历;删除
private Command exitCommand, addCmd, sortCmd, findCmd ;
private TextBox tb; //通过TextBox来显示信息
private UsersRecordStore userRec; //数据操作对象
private java.util.Random rnd = new java.util.Random();
public dbDemo3()
{
tb =new TextBox("OutputWindow","",120,TextField.ANY);
exitCommand =new Command("Exit",Command.EXIT,1);
addCmd =new Command("addCmd",Command.SCREEN,1);
sortCmd =new Command("sortCmd",Command.SCREEN,1);
findCmd =new Command("findCmd",Command.SCREEN,1);
tb.addCommand(exitCommand);
tb.addCommand(addCmd);
tb.addCommand(sortCmd);
tb.addCommand(findCmd);
tb.setCommandListener(this);
userRec = new UsersRecordStore(Display.getDisplay(this));
openDb(); //程序启动时候打开记录文件
}
protected void openDb( )
{
//如果记录文件不存在则创建记录文件
if(! userRec.IsDbExist())
userRec.CreateDb();
userRec.OpenDb();//打开记录文件
}
protected void startApp( ) throws MIDletStateChangeException
{
Display.getDisplay(this).setCurrent(tb);
}
protected void pauseApp( )
{
}
protected void destroyApp( boolean p1 )
{
userRec.CloseDb();
}
public void commandAction(Command c,Displayable d)
{
if (c ==exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
else if(c ==addCmd)
{//添加一个随机的用户信息作为测试
String rname= "name"+rnd.nextInt();
String remail = rname+"@vchelp.net";
int recId = userRec.AddRecord(rname,"F","N/A",remail);
tb.setString("RecordId = "+ recId + " added");
}
else if(c ==findCmd)
{
RecordEnumeration enu = userRec.FindRecord("name");
tb.setString("recordNum = " + enu.numRecords());
RecordData rData = new RecordData();
while( enu.hasNextElement() )
{
try
{
rData.recordId = enu.nextRecordId();//得到下一条记录号
rData.ReadByte(userRec.getRecord(rData.recordId)); //得到记录内容并分解
rData.Trace();//输出记录信息
}
catch(Exception e){}
}
enu.destroy();
enu = null;
rData = null;
}
else if(c ==sortCmd)
{
RecordEnumeration enu = userRec.SortRecordByName( );
tb.setString("recordNum = " + enu.numRecords());
RecordData rData = new RecordData();
while( enu.hasPreviousElement() )
{
try
{
rData.recordId = enu.previousRecordId();//得到下一条记录号
rData.ReadByte(userRec.getRecord(rData.recordId)); //得到记录内容并分解
rData.Trace();//跟踪输出记录信息
}
catch(Exception e){}
}
enu.destroy();
enu = null;
rData = null;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -