`
liuzhiqiang19890403
  • 浏览: 61013 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

遍历ResultSet元素

 
阅读更多
import java.sql.*;


public class EnuResultSet {
public static void main(String[] args) throws Exception {  
    String driver = "oracle.jdbc.driver.OracleDriver";  
    String url = "jdbc:oracle:thin:@localhost:1521:orcl";  
    String user = "scott";  
    String pass = "123";  
    //   
    Class.forName(driver);  
    Connection conn = DriverManager.getConnection(url, user, pass);  
    Statement stmt = conn.createStatement();  
    ResultSet rs = stmt.executeQuery("select * from dept");  
      
    ResultSetMetaData rsmd = rs.getMetaData();  
    int columnCount = rsmd.getColumnCount();  
    // 输出列名  
    for (int i=1; i<=columnCount; i++){  
        System.out.print(rsmd.getColumnName(i));  
        System.out.print("(" + rsmd.getColumnTypeName(i) + ")");  
        System.out.print(" | ");  
    }  
    System.out.println();  
    // 输出数据  
    while (rs.next()){  
        for (int i=1; i<=columnCount; i++){  
            System.out.print(rs.getString(i) + " | ");  
        }  
        System.out.println();  
    }  
    rs.close();  
    stmt.close();  
    conn.close();  

}

但如果是任意一个返回的结果集,比如数据库元数据DatabaseMedata中的多个方法返回的都是ResultSet对象,如:getAttributes() ,getBestRowIdentifier() ,getTypeInfo()等方法,这时如何遍历这个对象的每一列,上面的方法就处理不了了?

我已解决:
import java.sql.*;
public class TestMetaData {

public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
ResultSetMetaData rm;
DatabaseMetaData dmd;
int   n=1;


String url = "jdbc:oracle:thin:@localhost:1521:orcl";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url,"scott","123");
dmd = conn.getMetaData();
if(dmd == null){
System.out.println("no Meta avaliable.");
}else{
System.out.println("Database Name:"+dmd.getDatabaseProductName());
System.out.println("Database Version:"+ dmd.getDatabaseProductVersion());
System.out.println("Database Driver:"+ dmd.getDriverName());
System.out.println("Database DriverVerion:"+ dmd.getDriverVersion());
System.out.println("Database DataBase TypeList:");
rs = dmd.getTypeInfo();
            rs.next();
for(int   i=1;i <=n;i++){
if(rs.getString(i)!=null){
n+=1;}
}
while(rs.next()){
for (int i1=1;i1<n;i1++){
System.out.print("\t" + rs.getString(i1)+"\t");
}
System.out.println();
}
rs.close();
}
stmt = conn.createStatement();
String sql = "select * from dept";
rs = stmt.executeQuery(sql);
System.out.println("The data table structure info:");
rm = rs.getMetaData();
int columnNum = rm.getColumnCount();
System.out.println("Num \tcolumnName \tDataType");
for (int i=1;i<=columnNum;i++){
System.out.println(i+"\t"+rm.getColumnName(i)+"\t"+rm.getColumnTypeName(i));
}
}catch (Exception e){
e.printStackTrace();
}finally{
CloseConn.closeConnEtc(rs,conn,stmt);
}
}


}
分享到:
评论

相关推荐

    resultset2xml

    要将ResultSet转换为XML,我们需要遍历ResultSet,为每一行创建一个XML元素,并将列名作为元素标签,值作为元素内容。 以下是一种简单的实现方式: 1. 创建一个XML Document对象,这是XML文档的基础。 2. 使用...

    实例讲解JSP获取ResultSet结果集中的数据的方法

    在遍历ResultSet结果集的过程中,可以为每一行创建一个标签,并将每一列数据包裹在标签中,形成完整的HTML表格结构,从而将数据显示在网页上。 综上所述,JSP页面通过与JDBC的结合,可以访问和操作数据库中的数据。...

    beautifulsoup python

    - `.previous`,`.previous_siblings`:向左遍历同级元素。 6. **搜索策略**: - 使用标签名、属性名和属性值进行精确匹配。 - 使用正则表达式进行复杂匹配。 - 使用字符串方法(如`contains()`,`startswith()...

    java行转列的例子

    - 数据库查询结果通常以ResultSet形式返回,需要遍历ResultSet并将其转换为Java对象。 6. 页面展示: - 转换后的数据可能需要在网页上显示,这可能涉及到JSP、Thymeleaf或其他模板引擎。 - 使用ModelAndView或...

    java sql ResultSet 之getRow()用法说明

    next() 方法在 ResultSet 对象没有一行记录时返回 false,因此可以在 while 循环中使用它来遍历结果集,也可以利用该方法判断结果集是否为空。 getRow() 方法是 ResultSet 对象的一个重要方法,它可以返回当前指针...

    xml+sql+java

    4. **处理结果集**:遍历ResultSet,获取每一行数据。 5. **生成XML文档**:使用Java的DOM(Document Object Model)、SAX(Simple API for XML)或StAX(Streaming API for XML)等解析器,创建XML文档结构。每条...

    xml文件自动生成工具

    5. 将结果集转换为XML:遍历ResultSet,将每一行数据转换为XML元素,并嵌套在合适的结构中。 “xml文件自动生成工具”可能还涉及到数据映射的过程,即将数据库表结构映射到XML文档的结构。这可能包括选择哪些字段...

    jsp-database-table.zip_Table_jsp 显示数据

    5. 处理结果集:遍历ResultSet,获取每一行数据。 描述中提到的是“某一特定表格”,这意味着我们需要明确知道要查询的表名和可能的条件。例如,我们可能有一个名为"Employee"的表,包含"ID","Name"和"Position"等...

    mysql-connector-java-8.0.22.jar

    4. **处理结果**:遍历ResultSet,提取数据并进行业务处理。 5. **关闭资源**:在完成数据库操作后,记得关闭ResultSet、Statement和Connection,释放系统资源。 在开发中,为了确保最佳性能,通常会使用连接池技术...

    JSP数据库编程指南

    开发者需要遍历ResultSet,将数据绑定到JSP页面的HTML元素中。 6. **事务管理**:在涉及多条SQL语句的操作中,事务管理至关重要。JSP可以通过Java的JDBC API实现事务的开始、提交和回滚。 7. **连接池**:为了提高...

    动态二级菜单

    当获取到菜单数据后,JSP使用逻辑控制结构(如for-each循环)遍历ResultSet,生成HTML代码来展示一级菜单。对于每个一级菜单,再根据其对应的二级菜单ID,进行一次子查询,得到二级菜单的信息。然后在一级菜单下插入...

    jdbc+jsp实现书籍的增删改查项目

    3. JSTL标签:例如,遍历ResultSet,将每条图书数据渲染到页面上;元素配合JSTL的提交标签(如、等)实现用户交互,如添加新书、删除旧书、修改已有书籍信息。 在项目实施过程中,开发者还会涉及MVC(Model-View-...

    ResultSet to XML Converter-开源

    3. 数据转换:`writeXML`方法接收ResultSet作为参数,遍历其中每一行数据,并将其转换为XML元素。每行数据可能对应一个XML元素,元素的属性可能来源于结果集中列的值。 4. 内容编码:为了保持数据的可读性和兼容性,...

    页面显示数据库内容(jsp)

    遍历ResultSet,提取每一行的列值,这些值可以用于构建HTML表格或其他显示格式。 5. **JSP标签库**:在JSP中,可以使用JSTL(JavaServer Pages Standard Tag Library)来简化数据库操作。例如,`&lt;sql:query&gt;`标签...

    hibernate_问题详解

    对于查询结果,开发者需要遍历ResultSet,逐行逐字段地提取数据并封装到Java对象中,过程繁琐且容易出错。 2. **iBatis**:作为半自动化的ORM框架,iBatis允许开发者编写SQL语句,但在数据操作层面提供了便利,比如...

    JSP+JDBC真分页

    5. **处理结果集**:遍历ResultSet,将其转换为合适的对象(如自定义的JavaBean),并存储到一个列表中。 6. **在JSP中展示数据**:在JSP页面上,使用JSP标签库(如JSTL)或脚本元素遍历列表,将数据渲染到HTML中。...

    基于在jsp使用数据库

    - 处理结果集:如果执行的是查询语句,会返回ResultSet对象,遍历ResultSet以获取数据。 - 关闭资源:执行完操作后,务必关闭ResultSet、Statement和Connection,释放资源。 3. JSP中的数据库操作: - 在JSP中...

    简单查询(jsp与servlet结合,oracle数据库)

    5. 遍历ResultSet并处理数据。 6. 关闭连接和其他资源。 项目中的"mywebapp"可能是一个完整的Web应用程序结构,包含以下几个部分: - `WEB-INF` 文件夹:存放Web应用的配置文件,如`web.xml`,以及编译后的Servlet...

    android 通过jdts.jar 连接SQLSEVER2008-IT计算机-毕业设计.zip

    你需要遍历ResultSet,读取每一行数据并进行处理,可能需要转化为自定义的Java对象。 6. **异常处理**:在数据库操作中,可能出现各种异常,如网络问题、权限问题、SQL语法错误等。因此,编写健壮的异常处理代码至...

Global site tag (gtag.js) - Google Analytics