问题现在修改如下:
下面的程序在编译时是没有错的,在我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)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)