在使用 SQLJ 和 JDBC 时获取最优的 DB2 性能
2008-09-16 16:29:32 来源:WEB开发网位置型迭代器
对于位置型迭代器,声明迭代器时只需指定数据类型,其语法如下所示:
#sql iterator PosIterator (String, String, int);
您还需要声明主机变量来检索数据,并在程序代码中创建迭代器的实例。使用 FETCH ... INTO 语法来将列检索到主机变量中,其语法如下所示:
...
static Connection con;
static DefaultContext ctx;
#sql iterator NamedIterator (String empno, String projno, int actno);
#sql iterator PosIterator (String, String, int);
public static void main (String args[]){
SqlJDemo demoApp = new SqlJDemo();
demoApp.makeConnection();
demoApp.insertData();
demoApp.useNamedIterator();
demoApp.usePositionalIterator();
}
public void usePositionalIterator()
{
try
{
String empno = null;;
String projno = null;
int actno = -1;
PosIterator posIter = null;
#sql [ctx] posIter = {SELECT EMPNO, PROJNO, ACTNO FROM EMP_ACT};
#sql {FETCH :posIter INTO :empno, :projno, :actno};
while (!posIter.endFetch())
{
// row logic
System.out.println(empno+" "+projno+" "+actno);
#sql {FETCH :posIter INTO :empno, :projno, :actno};
}
posIter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public void useNamedIterator()
{
try
...
更多精彩
赞助商链接