try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} try {
con = DriverManager.getConnection("jdbc:odbc:book");
csm = con.prepareCall("{call proc_selectAll()}");
rs=(ResultSet)csm.getResultSet();
rs = csm.getResultSet();
while (rs.next()) {
System.out.print(rs.getString(1) + ",");
System.out.print(rs.getString(2) + ",");
System.out.print(rs.getInt(3) + ",");
System.out.print(rs.getInt(4) + "\n");
}

解决方案 »

  1.   

    答:以后提问题时,最好帖上出错信息,这是最重要的.这样别人才好更快更好的帮助你解决问题.
    你能确保:你的数据库系统中存储过程 'proc_selectAll' 已正确写好并在数据库中已经测试成功?
      

  2.   

    con.prepareCall("call proc_selectAll()"); 
    没大括号。小括号里边可以带参数另外你确定你数据库中有存储过程?
      

  3.   

    答:还是紧好贴一下出错信息.若:确定存储过程没有问题,已经测试过
    则可能:
    1)book数据源名字肯定正确,存储过程'proc_selectAll' 是在该数据源中?
    2)rs=(ResultSet)csm.getResultSet(); 改为:rs=(ResultSet)stmt.executeQuery();试试