Topic: 请高手指教!(Collections.sort 错误)

  Print this page

1.请高手指教!(Collections.sort 错误) Copy to clipboard
Posted by: lobing109
Posted on: 2004-09-03 00:36

import java.sql.*;
import javax.naming.*;
import javax.sql.*;
import java.util.*;

public class DiscDB
{
    
  public DiscDB() throws Exception
  {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }
  
  public Connection getConn() throws Exception
  {
    return DriverManager.getConnection("jdbc:odbc:disc","","");
    }
    
  public void closeConn(Connection conn)
  {
    try
    {
      if(conn!=null) conn.close();
      }catch(Exception e){}
    }
    
  public void closeStmt(PreparedStatement stmt)
  {
    try
    {
      if(stmt!=null) stmt.close();
      }catch(Exception e){}
    }
    
  public void closeRs(ResultSet rs)
  {
    try
    {
      if(rs!=null) rs.close();
      }catch(Exception e){}
    }
    
  public Collection getDisc() throws Exception
  {
    Connection conn=null;
    PreparedStatement stmt=null;
    ResultSet rs=null;
    ArrayList disc=new ArrayList();
    try
    {
      conn=getConn();
      String selectStatement="select *"+"from disces";
      stmt=conn.prepareStatement(selectStatement);
      rs=stmt.executeQuery();
      
      while(rs.next())
      {
        DiscDetail dd=new DiscDetail(rs.getString(1),rs.getString(2),rs.getString(3),rs.getInt(4),rs.getString(5),rs.getInt(6));
        disc.add(dd);
        }
      }finally
       {
         closeRs(rs);
         closeStmt(stmt);
         closeConn(conn);
         }
      
       Collections.sort(disc);
       return disc;
    }
  
  public static void main(String args[]) throws Exception
  {
    DiscDB db=new DiscDB();
    Collection c=db.getDisc();
    Iterator i=c.iterator();
    while(i.hasNext())
    {
      DiscDetail dis=(DiscDetail)i.next();
      System.out.println(dis.getId());
      }
    }
  }

这段代码编译已经通过了,但是在执行的时候却提示   Collections.sort(disc);
这句有错误,请高手指点一下,谢谢!


{ 请尽量用准确的文字描述作为标题 }

2.Re:请高手指教!(Collections.sort 错误) [Re: lobing109] Copy to clipboard
Posted by: why
Posted on: 2004-09-03 04:45

You should show us more about the error message rather than the uninteresting JDBC code.Smile
Could you please show us the code for the class DiscDetail as well?

How does it implement the Comparable interface or Comparator?
Otherwise, how do you think it would be sorted?Wink

You should be able to find examples in most Java books, e.g. The Java Tutorial
http://java.sun.com/docs/books/tutorial/collections/interfaces/order.html
http://java.sun.com/docs/books/tutorial/collections/problems/


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923