我是提问的人
问题现在修改如下:
下面的程序在编译时是没有错的,在我J2ME客户端访问这个方法时错了
唯一的可能就是把数据存入二维数组时存储不正确了
开了3个帖子,没人能回答正确,小弟真的很急,各位英雄,各位大哥大姐,如果懂的,请帮个忙认真看下好吗
本来想控制台输出察看的,可后来想想客户端没请求,怎么察看,servlet类作为表示层的怎么察看,种种迷惑都很不解
现在数据库的结构是这样的
景区表:scene
字段 id 数字(整型) name 文本
景点表:scenery
字段 id 自动编号 scene 数字(整型) name 文本 其他字段...
现在我要把景区放在一维,景点放在二维
个位帮忙看下,以下数据存储格式哪里错了,或者全错,那能给个方法吗,希望大家帮个忙,我万分感谢!
public Scenery[][] getSceneries()throws ModelException, ApplicationException{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
try{
String drname="sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(drname);
String url="jdbc:odbc:guidesys";
conn=DriverManager.getConnection(url);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from scene";
rs=stmt.executeQuery(sql);
rs.last();
Scenery[][] sceneries=new Scenery[rs.getRow()][];
rs.beforeFirst();
int i=0;
while(rs.next()){
Statement stmts=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rses=stmts.executeQuery("select * from scenery where scenery.scene="+rs.getInt(1)+"");
rses.last();
sceneries[i]=new Scenery[rses.getRow()];
rses.beforeFirst();
int j=0;
while(rses.next()){
System.out.println(rses.getString(3));
sceneries[i][j]=new Scenery(rs.getString(2),rses.getString(3),rses.getString(4),rses.getString(5),rses.getString(6),rses.getString(7));
j++;
}
rses.close();
stmts.close();
i++;
}
rs.close();
stmt.close();
conn.close();
return sceneries;
}catch(Exception e){
throw new ModelException(ModelException.CAUSE_SNACKS_NOT_FIND);
}
}