WEB开发网
开发学院数据库DB2 在使用 SQLJ 和 JDBC 时获取最优的 DB2 性能 阅读

在使用 SQLJ 和 JDBC 时获取最优的 DB2 性能

 2008-09-16 16:29:32 来源:WEB开发网   
核心提示: 检索多行数据到目前为止,所有示例使用的 SQL 语句都不返回数据,在使用 SQLJ 和 JDBC 时获取最优的 DB2 性能(6),要从 DB2 返回一行或多行数据,使用 SELECT 语句,请创建一个迭代器类实例并通过赋给它 SQL 语句来填充它,然后,SELECT 语句返回多个行,它们

检索多行数据

到目前为止,所有示例使用的 SQL 语句都不返回数据。要从 DB2 返回一行或多行数据,使用 SELECT 语句。SELECT 语句返回多个行,它们是 SQL 查询的结果。检索和使用这个结果集中的行需要一些额外的 SQLJ 语法。

因为结果集可以包括多行数据,所以需要声明一个迭代器来遍历这些行。而且必须在任何方法以外声明迭代器,因为当对它们执行 SQLJ 转换程序时,会将它们转换成单独的类。然后,您可以创建一个迭代器实例并填充该实例。

您可以使用两种不同类型的迭代器 ― 指定名称迭代器或位置型迭代器。对于指定名称迭代器,用列名及其数据类型声明迭代器,其语法如下所示:

#sql iterator NamedIterator (String empno, String projno, int actno);

要检索数据,请创建一个迭代器类实例并通过赋给它 SQL 语句来填充它。然后,您可以通过使用 while 循环来循环遍历该数据,用 NamedIterator 类中创建的方法检索每个列:

...
  }
 }
 static Connection con;
 static DefaultContext ctx;
 #sql iterator NamedIterator (String empno, String projno, int actno );
 public static void main (String args[]){
   SqlJDemo demoApp = new SqlJDemo();
   demoApp.makeConnection();
   demoApp.insertData();
   demoApp.useNamedIterator();
 }
 public void useNamedIterator()
 {
  try
  {
    NamedIterator namedIter = null;
    #sql [ctx] namedIter = {SELECT EMPNO, PROJNO, ACTNO FROM EMP_ACT};
    while (namedIter.next())
    {
      System.out.println(namedIter.empno()+"  "
           +namedIter.projno()+"  "+namedIter.actno());
    }
    namedIter.close();
  } catch (Exception e) {
    e.printStackTrace();
  }
 }
 public void makeConnection()
 {
  try
  {
...

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:使用 SQLJ JDBC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接