| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1356 人关注过本帖
标题:请教一个关于向j2me数据库内写入数据的问题
只看楼主 加入收藏
Phoebe
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-6-27
收藏
 问题点数:0 回复次数:1 
请教一个关于向j2me数据库内写入数据的问题

我的程序已经写好,而且编译通过,但是在save的时候不能将数据保存到数据库中
提示为:java.lang.NullPointerException
at Fourth.doSave(+221)
at Fourth.commandAction(+457)
at javax.microediton.ledui.Display$DisplayAccessor.commandAction(+152)
at com.sun.kvem.midp.lcdui.EnmlEventHandle$EventLoop.run(+459)
下面是我关于保存的代码,希望好心的大侠相助,小妹感激不尽!谢谢


private void doSave(){
RecordStore rs=null;
byte[] nameEmail=null;
boolean existingOrNot=false;

existingOrNot=existing("aPerson");
if(existingOrNot){
try{
rs=RecordStore.openRecordStore("aPerson",false);
}
catch(Exception e){
}
}
else{
try{
rs=RecordStore.openRecordStore("aPerson",true);
}
catch(Exception e){
}
}

Person aPerson=null;

try{
aPerson=new Person();

aPerson.write(nameField.getString(),
EMailField.getString(),
Integer.parseInt(ageField.getString())
);
byte[] data=aPerson.changeToByteArray();
int recordID=aPerson.getRecordID();
if(modificationID!=0)
recordID=modificationID;

System.out.println("record ID: "+recordID);
if(recordID!=-1){
rs.setRecord(recordID,data,0,data.length);
modificationID=0;
}
else{
recordID=rs.addRecord(data,0,data.length);
aPerson.setRecordID(recordID);
}
aPerson=null;
nameField.setLabel("消息");
nameField.setString("完成新增!");
}
catch(Exception e){
nameField.setLabel("注意");
nameField.setString("失败!");
}

try{
if(rs!=null)
rs.closeRecordStore();
//rs.deleteRecordStore("aPerson");
}
catch(Exception e){
}
}

class Person{
private int ID=-1;
private String name;
private String EMail;
private int age;

public void write(String name,String EMail,int age){
this.name=name;
this.EMail=EMail;
this.age=age;
}
public void setRecordID(int ID){
this.ID=ID;
}
public int getRecordID(){
return ID;
}
public byte[] changeToByteArray(){
byte[] data=null;

try{
ByteArrayOutputStream baos=new ByteArrayOutputStream();
DataOutputStream dos=new DataOutputStream(baos);
dos.writeUTF(name);
dos.writeUTF(EMail);
dos.writeInt(age);
data=baos.toByteArray();

baos.close();
dos.close();
}
catch(Exception e){
}
return data;
}

public void changeFromByteArray(byte[] data){
try{
ByteArrayInputStream bais=new ByteArrayInputStream(data);
DataInputStream dis=new DataInputStream(bais);
name=dis.readUTF();
EMail=dis.readUTF();
age=dis.readInt();

bais.close();
dis.close();
}
catch(Exception e){
}
}
public String getName(){
return name;
}
public String getEMail(){
return EMail;
}
public int getage(){
return age;
}
}

class nameFilter implements RecordFilter{
public boolean matches(byte[] candidate){
DataInputStream person=new DataInputStream(new ByteArrayInputStream(candidate));
String name="";
String EMail="";
int age=0;
try{
name=person.readUTF();
EMail=person.readUTF();
age=person.readInt();
}
catch(Exception e){
}

if(name.equals(Fourth.criteria))
return true;
else
return false;
}
}

搜索更多相关主题的帖子: 库内 数据 
2006-06-28 11:10
LVTIAN
Rank: 1
等 级:新手上路
帖 子:178
专家分:0
注 册:2006-6-26
收藏
得分:0 
空指针异常,自己再查一下

如果我们生存的冰冷的世界依然难改变,至少我还拥有你化解冰雪的容颜。
2006-06-28 13:36
快速回复:请教一个关于向j2me数据库内写入数据的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034702 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved