??求完整代码,谢谢大家
答案明白了,立即结分

解决方案 »

  1.   

    private  Pet[] getResSet(ResultSet rs) throws SQLException
    {
    int j=0;
    while(rs.next())
    {
    j++;
    }
    Pet[] pets= new Pet[j];
    rs.beforeFirst();
    int i=0;
    while (rs.next())
    {
    pets[i]=new Pet();
    pets[i].setPetId(rs.getString(2));
    pets[i].setPetName(rs.getString(3));
    pets[i].setPetType(rs.getString(4));
    pets[i].setPetAge(rs.getInt(5));
    pets[i].setInDate(rs.getDate(6));
    pets[i].setOutDate(rs.getDate(7));
    pets[i++].setManagerName(rs.getString(8));
    }
    return pets;
    }
    public  Pet[] getAllPets() throws IOException, SQLException,
    ClassNotFoundException
    {
    String sql = "select *from petsinfo";
    Connection conn = DBConn.getConnection();
    Statement st = conn.createStatement();
    ResultSet rs = st.executeQuery(sql);
    Pet[] pets = getResSet(rs);
    st.close();
    conn.close();
    return pets;
    }
      

  2.   

    是这样的:
    我数据库结构(其实就好像是网页目录分类一样)
    id,parentID,nameparentID为0则表示是根目录然后我要从这个数据库里把这些数据读出来,像http://dir.google.com/这样列出来
    请楼上兄弟帮忙,谢谢 !!!
      

  3.   

    楼主说的需求很含糊,不是很清楚什么意思。以前在公司做过,把数据从数据库中取出来,放到一个只有两列的二维数组,用于在页面上生成下拉列表框。大概是这个样子的:先把数据从数据库中取到一个名叫list的List中,然后,if (list == null || list.isEmpty()) return null;String[][] arr = new String[list.size()][2];for (int i = 0, j = list.size(); i < j; i++ ) {
        DTO dto = (DTO) iterator.next();    arr[i][0] = dto.getLable();//label、name都是dto的属性,String类型的
        arr[i][1] = dto.getName();
        
    }
      

  4.   

    晕,都看不懂
    查了资料,好像用ARRAYLIST适合,大家有详细代码吗?
      

  5.   

    public String[][] ListData(String sql,int fieldnum) throws SQLException{

    String result[][] = null;
            Connection dbconn = null;
            Statement stmt = null;
            ResultSet rsResult = null;
            String strSql = null;
            StrCvs strTo = new StrCvs();
            
    if(sql.length()==0 || fieldnum ==0){
    result = null;
    }
    else
    {
    strSql = sql;
            try
            {
             dbconn = DbOperation.getConnection();
             stmt = dbconn.createStatement(1004, 1007);
                
                //strSql ="select * from sysconfig where syscon_sign=0 order by syscon_explain";
            
             System.out.println("sql:" +strTo.UnToGB(strSql));
                rsResult = stmt.executeQuery(strSql);
                
                System.out.println(strSql+"数据查询已完成!");
                if(rsResult.next())
                {
                 rsResult.absolute(-1);
                    int iRowNum = rsResult.getRow();
                    result = new String[iRowNum][fieldnum];
                    rsResult.first();
                    for(int i = 0; i < iRowNum; i++)
                    {
                     for(int j = 0;j<fieldnum;j++)
                     {
                     if(rsResult.getString(j+1)==null || rsResult.getString(j+1).length() == 0 || rsResult.getString(j+1).equals("null")){
                     result[i][j] = "";
                     }else{
                     //result[i][j] = strTo.UnToGB(rsResult.getString(j+1));
                     result[i][j] = rsResult.getString(j+1);
                     }
                     }
                     rsResult.next();
                    }
                }
            
            }
            catch(Exception e)
            {
                result = null;
                System.out.println(e.getMessage());
            }
            finally
            {
                if (rsResult!=null){
                  rsResult.close();
                  rsResult=null;
                }
                if (stmt!=null){
                  stmt.close();
                  stmt=null;
                }
                if (dbconn!=null){
                  dbconn.close();
                  dbconn=null;
                }
            }
    }
    return result;
    }
      

  6.   

    但是这个好像之读出根目录啊,还要读某个根目录下的子目录啊
    另外网上又查了些资料,好像用arraylis最适合,然后用Iterator去读取,但都没例子,
    求大家帮忙啊。格式
    http://dir.google.com
      

  7.   

    我的本意就是想做出
    http://dir.google.com这种网页目录的效果,请兄弟帮忙 啊
      

  8.   

    偶实现了,VB.NET的.
    从数据库读出数据放在DATASET上,
    再对DATASET循环,读出的数据就能放在数组上了..
      

  9.   

    放到HashMap()\HashTable()中比较好.
    参考:http://sunflowerbbs.oicp.net/posts/list/48.page
      

  10.   

    晕,大家都来点代码啊?还有我看到应该是VECTOR或者ARRAYLIST最适合这样的情况了吧??请大家帮忙啊,我想这个代码应该很多人都需要用的到的啊
      

  11.   

    我提方—案你自己解决:
    1: 先用select parentID form 表名 group by parentID ,将结果数据放入一维数组中KeyN[],这样不会出现根目录重复.
    2: 用循环;分别用select  name from  表名 where KeyN[i] ,将结果数据放入一维数组或ArrayList对象中,(最好将其放入ArrayList对象,并且将它定义成临时变量.)
    每次取出结果集后都将他们以"键值对"的方式put(KeyN[i],ArrayListObj)到HashTable对象中.返回HashTable对象
    4: 在调用函数的地方,用HashTableObj对象的keys()
    for (Enumeration e=HashTableObj.keys();e.hasMoreElements();){
       String parentK=e.nextElement().toString();//根目录
       ArrayList ChildListObj=(ArrayList)HashTableObj.get(parentK);//根目录下的子目录
       //再做对应的输出即可.ChildListObj用迭代输出.
    }
      

  12.   

    首先你要访问数据库,得到一个结果集
    再定义一个二维数组
    然后用结果集的方法,如下移结果集指针、getString(1)等等,分别定位以及取得第一列的值
    开始赋值
      for  //这个是分行     for 这个处理每一行的     
      

  13.   

    分别用select  name from  表名 where KeyN[i]
    ==>麻烦兄弟,问一下,这个SQL怎么写?低手,不好意思
    另外,hui_bing()兄弟,能否再详细一些呢,虽然你已经声明不喜欢敲代码,可是
    我实在理解能力太差,能否麻烦些再详细些呢,不是因为自己偷懒,而是真的不懂
    请教大家了
      

  14.   


    sqlstr="select  name from  表名 where "+KeyN[i]
      

  15.   

    不好意思,有点马大哈了!
    sqlstr="select  name from  表名 where parentID='"+KeyN[i]+"'"
      

  16.   

    我用记事本编的,可能有些细节错误或没注意到的,你自己测下:
    public HashTable GainRecod(Statement StaObj){
    ResultSet rs=null;
    int rowNum=0;
    int index=0;
    String ParentInfo[];
    HashTable HashTableobj=new HashTable();
    String sqlStr="select 根目录列名 form 表名 group by 根目录列名";
    try{
    rs=StaObj.executeQuery(sqlStr);
    rs.beforeFirst();
    while(rs.next()){
       rowNum=rs.getRow();//获得记录集条数
    }
    if(rowNum==0){
       JOptionPane.showMessageDialog(null,"对不起!本数据库中没有您要查找的数据!");
       return null;
    }
    ParentInfo=new String[rowNum];
    index=0;
    rs.beforeFirst();
    while(rs.next()){
    ParentInfo[index]=rs.getString(1);//获得所有根目录,放入数组中
    index++;
    }
    rs.close();
    }catch(SQLException sqlE){
    System.out.println(sqlE);
    }
    try{
    for(i=0;i<rowNum;i++){
    ArrayList ArrayListobj=new ArrayList();
             sqlStr="select 子目录列名 from  表名 where 根目录列名='"+ParentInfo[i]+"'";
    rs=StaObj.executeQuery(sqlStr);
    rs.beforeFirst();
    while(rs.next()){
    //获得该根目录下的所有子目录,并放入ArrayList中
    ArrayListobj.add(rs.getString(1));
    }
    //将根目录与子目录以”键之对“的方式放入HashTable对象中
    HashTableobj.put(ParentInfo[i],ArrayListobj);
    rs.close();
    }
    return HashTableobj;
    }catch(SQLException sqlE){
    System.out.println(sqlE);
    }
    return null;
    }
    public void transferMethod(){
    try{
    //StaObj是本类的Statement属性,在通过Connection对象取得它时要将其游标设为可上下移动的,具体参数见帮助。
    HashTable HashTableobj=this.GainRecod(StaObj);
    for (Enumeration e=HashTableObj.keys();e.hasMoreElements();){
    String parentK=e.nextElement().toString();//根目录
    ArrayList ChildListObj=(ArrayList)HashTableObj.get(parentK);//根目录下的子目录
    Iteratior IteObj=ChildListObj.iteratior();
    //再做对应的输出即可.ChildListObj用迭代输出.
    System.out.println("根目录"+parentK+"下有:");
    while(IteObj.hasNext()){
    String ChildInfo=(IteObj.next()).toString();
    System.out.print(ChildInfo+",");
    }
    System.out.println("");
    }
    }catch(Exception e){
    System.out.println(e);
    }
    }