要做一个查询程序,要求用jsp和javabean实现,要求将数据库中的字段名写成数组函数或放到javabean中,在jsp的sql语句中直接使用(可以是部分字段名),请大家帮忙,谢谢!我是菜鸟,您最好能提供代码。

解决方案 »

  1.   

    研究一下DatabaseMetaDatadbMeta
      

  2.   

    java.sql.ResultSetMetaData String getCatalogName(int column)  String getColumnClassName(int column)  int getColumnCount()  int getColumnDisplaySize(int column)  String getColumnLabel(int column)  String getColumnName(int column)  int getColumnType(int column) .
    .
    .     ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
         ResultSetMetaData rsmd = rs.getMetaData();
         int numberOfColumns = rsmd.getColumnCount();
         boolean b = rsmd.isSearchable(1);
      

  3.   

    谢谢大家了!希望terry_yip帮帮忙,尽快帮我传一下,或发到
      

  4.   

    直接用现成的ORM工具就是了,一般的ORM工具都提供这个功能的
      

  5.   

    <%!
    public ArrayList executeQuery_new(String sql,String[] cols) throws SQLException
    {
          Connection conn=null;
          Statement stmt=null;
          ResultSet rs=null;
          ArrayList AL=new ArrayList();
         
        int size=cols.length;
       
         
         try
         {
           conn=sfca.common.ConnectionManager.getConnection();
           
           try
           {
              stmt=conn.createStatement();
              
           try
           {
           rs=stmt.executeQuery(sql);
               while(rs.next())
               {   
          String[] str=new String[size+1];     
          str[0]=String.valueOf(rs.getLong("id"));
                for(int i=1;i<=size;i++)
        {
       str[i]=rs.getString(cols[i-1]);
          }
        AL.add(str);
               }
              
           }
           finally
           {
                  rs.close();
      rs=null;
           }
        
           }
           finally
           { 
           stmt.close();
           stmt=null;
           }
         }
         finally
         {
            conn.close();
         conn=null;
         }     return(AL);    }%>
    由于每张表都带一个ID字段,用于索引记录,所以我把id也入ArrayList中了。你自己变通一下吧